v3dv: fix mutable resolve attachment format mismatch

When a resolve attachment is created with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT,
the render pass may use a view format that differs from the image creation
format (e.g. view=R16G16_SINT on an image created as B8G8R8A8_SRGB).

cmd_buffer_emit_resolve() was calling v3dv_CmdResolveImage2() which only
receives images but not the view format. This means that blit_shader()
will use the wrong format, causing miss-renderings.

So instead of using directly v3dv_CmdResolveImage2(), let's have an
intermediate function that receives both images and view formats to do
the resolve.

This fixes dEQP-VK.image.mutable.* failures.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40234>
This commit is contained in:
Juan A. Suarez Romero 2026-03-05 10:34:44 +01:00
parent 473b99b1d1
commit 18a63522d6
5 changed files with 59 additions and 496 deletions

View file

@ -509,237 +509,9 @@ KHR-GL31.framebuffer_blit.multisampled_to_singlesampled_blit_color_config_test,F
# This seems to be working with upstream
program@execute@vector-conversion,Fail
# New failures with VK CTS 1.4.3.3
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
ubsan-KHR-GL31.framebuffer_blit.multisampled_to_singlesampled_blit_color_config_test,Fail
ubsan-dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
ubsan-dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
ubsan-dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
# New failures with VK CTS 1.4.4.0
dEQP-VK.binding_model.unused_invalid_descriptor.copy.combined_image_sampler,Crash
@ -752,9 +524,6 @@ dEQP-VK.binding_model.unused_invalid_descriptor.write.unused.combined_image_samp
dEQP-VK.binding_model.unused_invalid_descriptor.write.unused.sampled_image,Crash
dEQP-VK.binding_model.unused_invalid_descriptor.write.unused.storage_buffer,Crash
dEQP-VK.binding_model.unused_invalid_descriptor.write.unused.uniform_buffer,Crash
ubsan-dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
ubsan-dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
ubsan-dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
# SKQP failing tests
ES2BlendWithNoTexture,Fail

View file

@ -363,237 +363,6 @@ asan-KHR-GL31.transform_feedback3.skip_multiple_buffers,Fail
# This seems to be working with upstream
program@execute@vector-conversion,Fail
# New failures with VK CTS 1.4.3.3
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.b8g8r8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.b8g8r8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_srgb_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_copy_resolve_mutable_color_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy_resolve_mutable_resolve_att,Fail
dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy_resolve_mutable_resolve_att,Fail
# ASAN failures
asan-dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy_resolve_mutable_resolve_att,Fail
asan-dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_copy_resolve_mutable_resolve_att,Fail
# New failures with VK CTS 1.4.4.0
dEQP-VK.binding_model.unused_invalid_descriptor.copy.combined_image_sampler,Crash
dEQP-VK.binding_model.unused_invalid_descriptor.copy.sampled_image,Crash

View file

@ -964,18 +964,14 @@ cmd_buffer_emit_resolve(struct v3dv_cmd_buffer *cmd_buffer,
struct v3dv_image *src_image = (struct v3dv_image *) src_iview->vk.image;
struct v3dv_image *dst_image = (struct v3dv_image *) dst_iview->vk.image;
VkResolveImageInfo2 resolve_info = {
.sType = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
.srcImage = v3dv_image_to_handle(src_image),
.srcImageLayout = VK_IMAGE_LAYOUT_GENERAL,
.dstImage = v3dv_image_to_handle(dst_image),
.dstImageLayout = VK_IMAGE_LAYOUT_GENERAL,
.regionCount = 1,
.pRegions = &region,
};
VkCommandBuffer cmd_buffer_handle = v3dv_cmd_buffer_to_handle(cmd_buffer);
v3dv_CmdResolveImage2(cmd_buffer_handle, &resolve_info);
/* Use view formats instead of image formats so that mutable resolve
* attachments (VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT) resolve correctly
* when the view format differs from the image creation format.
*/
assert(src_iview->vk.format == dst_iview->vk.format);
v3dv_cmd_buffer_resolve_image(cmd_buffer, dst_image, src_image,
src_iview->vk.format, &region);
}
static void

View file

@ -740,6 +740,11 @@ bool v3dv_cmd_buffer_copy_image_tfu(struct v3dv_cmd_buffer *cmd_buffer,
struct v3dv_image *dst,
struct v3dv_image *src,
const VkImageCopy2 *region);
void v3dv_cmd_buffer_resolve_image(struct v3dv_cmd_buffer *cmd_buffer,
struct v3dv_image *dst,
struct v3dv_image *src,
VkFormat resolve_format,
const VkImageResolve2 *region);
bool v3dv_job_apply_barrier_state(struct v3dv_job *job,
struct v3dv_barrier_state *barrier);

View file

@ -4877,6 +4877,7 @@ static bool
resolve_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
struct v3dv_image *dst,
struct v3dv_image *src,
VkFormat resolve_format,
const VkImageResolve2 *region)
{
/* No resolve for multi-planar images. Using plane 0 */
@ -4890,11 +4891,12 @@ resolve_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
return false;
}
if (!v3d_X((&cmd_buffer->device->devinfo), format_supports_tlb_resolve)(src->format))
const struct v3dv_format *resolve_v3dv_format =
v3d_X((&cmd_buffer->device->devinfo), get_format)(resolve_format);
assert(resolve_v3dv_format);
if (!v3d_X((&cmd_buffer->device->devinfo), format_supports_tlb_resolve)(resolve_v3dv_format))
return false;
const VkFormat fb_format = src->vk.format;
uint32_t num_layers;
if (dst->vk.image_type != VK_IMAGE_TYPE_3D) {
num_layers = vk_image_subresource_layer_count(&dst->vk,
@ -4918,7 +4920,7 @@ resolve_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
uint32_t internal_type, internal_bpp;
v3d_X((&cmd_buffer->device->devinfo), get_internal_type_bpp_for_image_aspects)
(fb_format, region->srcSubresource.aspectMask,
(resolve_format, region->srcSubresource.aspectMask,
&internal_type, &internal_bpp);
v3dv_job_start_frame(job, width, height, num_layers, false, true, 1,
@ -4926,7 +4928,7 @@ resolve_image_tlb(struct v3dv_cmd_buffer *cmd_buffer,
true);
struct v3dv_meta_framebuffer framebuffer;
v3d_X((&job->device->devinfo), meta_framebuffer_init)(&framebuffer, fb_format,
v3d_X((&job->device->devinfo), meta_framebuffer_init)(&framebuffer, resolve_format,
internal_type, &job->frame_tiling);
v3d_X((&job->device->devinfo), job_emit_binning_flush)(job);
@ -4941,6 +4943,7 @@ static bool
resolve_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
struct v3dv_image *dst,
struct v3dv_image *src,
VkFormat resolve_format,
const VkImageResolve2 *region)
{
const VkImageBlit2 blit_region = {
@ -4963,12 +4966,44 @@ resolve_image_blit(struct v3dv_cmd_buffer *cmd_buffer,
},
};
return blit_shader(cmd_buffer,
dst, dst->vk.format,
src, src->vk.format,
dst, resolve_format,
src, resolve_format,
0, NULL,
&blit_region, VK_FILTER_NEAREST, true);
}
/**
* Resolves an image by using the TLB if supported or a shader blit otherwise.
*
* Notice that resolve operations may need to use the view format instead of
* the image format when executing as part of a renderpass, so the format to
* use is provided explicitly as parameter.
*/
void
v3dv_cmd_buffer_resolve_image(struct v3dv_cmd_buffer *cmd_buffer,
struct v3dv_image *dst,
struct v3dv_image *src,
VkFormat resolve_format,
const VkImageResolve2 *region)
{
/* We don't support multi-sampled multi-plane images */
assert(src->vk.samples == VK_SAMPLE_COUNT_4_BIT);
assert(dst->vk.samples == VK_SAMPLE_COUNT_1_BIT);
assert(src->plane_count == 1);
assert(dst->plane_count == 1);
bool save_is_transfer = cmd_buffer->state.is_transfer;
cmd_buffer->state.is_transfer = true;
if (!resolve_image_tlb(cmd_buffer, dst, src, resolve_format, region) &&
!resolve_image_blit(cmd_buffer, dst, src, resolve_format, region)) {
UNREACHABLE("Unsupported multisample resolve operation");
}
cmd_buffer->state.is_transfer = save_is_transfer;
}
VKAPI_ATTR void VKAPI_CALL
v3dv_CmdResolveImage2(VkCommandBuffer commandBuffer,
const VkResolveImageInfo2 *info)
@ -4982,22 +5017,11 @@ v3dv_CmdResolveImage2(VkCommandBuffer commandBuffer,
assert(cmd_buffer->state.pass == NULL);
assert(cmd_buffer->state.job == NULL);
assert(src->vk.samples == VK_SAMPLE_COUNT_4_BIT);
assert(dst->vk.samples == VK_SAMPLE_COUNT_1_BIT);
/* We don't support multi-sampled multi-plane images */
assert(src->plane_count == 1);
assert(dst->plane_count == 1);
cmd_buffer->state.is_transfer = true;
assert(src->vk.format == dst->vk.format);
for (uint32_t i = 0; i < info->regionCount; i++) {
if (resolve_image_tlb(cmd_buffer, dst, src, &info->pRegions[i]))
continue;
if (resolve_image_blit(cmd_buffer, dst, src, &info->pRegions[i]))
continue;
UNREACHABLE("Unsupported multismaple resolve operation");
v3dv_cmd_buffer_resolve_image(cmd_buffer, dst, src,
src->vk.format,
&info->pRegions[i]);
}
cmd_buffer->state.is_transfer = false;
}