radv: enable FMASK for color attachments only
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 28 Apr 2020 08:08:17 +0000 (10:08 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 28 Apr 2020 15:23:05 +0000 (17:23 +0200)
The reason behind this is that FMASK requires CMASK and also that
FMASK for non color attachments looks unnecessary. It's currently
much easier to add this simple check because the driver tries to
always enable DCC first and if we enable FMASK only if CMASK, we
might loose some FMASK compressions.

This helps fixing some new robustness2 tests which fails because
only FMASK is enabled.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4783>

src/amd/vulkan/radv_image.c

index f6b0ba0e09ab43f071273fd7105d2d5d2f7808c7..7bfd34041cdd49acf0f8331e5166a5e7c4693819 100644 (file)
@@ -1331,7 +1331,8 @@ radv_image_can_enable_cmask(struct radv_image *image)
 static inline bool
 radv_image_can_enable_fmask(struct radv_image *image)
 {
-       return image->info.samples > 1 && vk_format_is_color(image->vk_format);
+       return image->info.samples > 1 &&
+              image->usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
 }
 
 static inline bool