v3dv: Loosen an assert in copy_buffer_to_image_shader
authorJason Ekstrand <jason.ekstrand@collabora.com>
Wed, 18 May 2022 17:49:45 +0000 (12:49 -0500)
committerMarge Bot <emma+marge@anholt.net>
Thu, 19 May 2022 00:06:21 +0000 (00:06 +0000)
In f99ac7f2de19 ("v3dv: Don't use color aspects for depth/stencil
images"), we stopped using color aspects for depth/stencil images in a
bunch of cases.  This causes us to trigger an assert in
copy_buffer_to_image_shader where it assumes 16-bit is always color but
now it can also be D16_UNORM.  The assert isn't protecting us from
anything we weren't already doing before so we can just loosen it a bit.

Fixes: f99ac7f2de19 ("v3dv: Don't use color aspects for depth/stencil images")
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16592>

src/broadcom/vulkan/v3dv_meta_copy.c

index 8206183..67a6e51 100644 (file)
@@ -2604,7 +2604,8 @@ copy_buffer_to_image_shader(struct v3dv_cmd_buffer *cmd_buffer,
       };
       break;
    case 2:
-      assert(aspect == VK_IMAGE_ASPECT_COLOR_BIT);
+      assert(aspect == VK_IMAGE_ASPECT_COLOR_BIT ||
+             aspect == VK_IMAGE_ASPECT_DEPTH_BIT);
       src_format = VK_FORMAT_R16_UINT;
       dst_format = src_format;
       break;