From: Dave Airlie Date: Mon, 7 Aug 2017 06:39:41 +0000 (+0100) Subject: radv: fix MSAA on SI gpus. X-Git-Tag: android-x86-7.1-r1~2^2~12 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=98d54d0c95fd67e56c4de67757a16f612e77c7d5;p=android-x86%2Fexternal-mesa.git radv: fix MSAA on SI gpus. This ports the workaround from radeonsi, that was missing in radv. This fixes Talos rendering when MSAA is enabled on my Tahiti card. Reviewed-by: Bas Nieuwenhuizen Fixes: f4e499ec7 (radv: add initial non-conformant radv vulkan driver) Signed-off-by: Dave Airlie (cherry picked from commit 8bf39307517a04263532e3c5a49b5be1f4a99032) [Andres Gomez: resolve trivial conflicts] Signed-off-by: Andres Gomez Conflicts: src/amd/vulkan/radv_device.c --- diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 33c75c2a3dd..aa024c02d8a 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -2730,9 +2730,13 @@ radv_initialise_color_surface(struct radv_device *device, format != V_028C70_COLOR_24_8) | S_028C70_NUMBER_TYPE(ntype) | S_028C70_ENDIAN(endian); - if (iview->image->samples > 1) - if (iview->image->fmask.size) - cb->cb_color_info |= S_028C70_COMPRESSION(1); + if ((iview->image->samples > 1) && iview->image->fmask.size) { + cb->cb_color_info |= S_028C70_COMPRESSION(1); + if (device->physical_device->rad_info.chip_class == SI) { + unsigned fmask_bankh = util_logbase2(iview->image->fmask.bank_height); + cb->cb_color_attrib |= S_028C74_FMASK_BANK_HEIGHT(fmask_bankh); + } + } if (iview->image->cmask.size && !(device->debug_flags & RADV_DEBUG_NO_FAST_CLEARS))