radv: do not support blitting surfaces for R32G32B32 formats
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 12 Oct 2018 12:04:39 +0000 (14:04 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 12 Oct 2018 13:28:21 +0000 (15:28 +0200)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108113
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_formats.c

index a7aa819e2bdc7795e14e53e46533b6e764b12a0b..59bc46d2fc8983651a99ba025642bf7a83196dba 100644 (file)
@@ -667,6 +667,13 @@ radv_physical_device_get_format_properties(struct radv_physical_device *physical
                                linear |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
                                tiled |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
                        }
+
+                       /* Don't support blitting for R32G32B32 formats. */
+                       if (format == VK_FORMAT_R32G32B32_SFLOAT ||
+                           format == VK_FORMAT_R32G32B32_UINT ||
+                           format == VK_FORMAT_R32G32B32_SINT) {
+                               linear &= ~VK_FORMAT_FEATURE_BLIT_SRC_BIT;
+                       }
                }
                if (radv_is_colorbuffer_format_supported(format, &blendable)) {
                        linear |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT | VK_FORMAT_FEATURE_BLIT_DST_BIT;