mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 02:20:11 +01:00
aco: Fix image instructions with lod when 2d_view_of_3d is enabled on GFX9.
If there's a lod parameter it matter if the image is 3d or 2d because the hw reads either the fourth or third component as lod. So detect 3d images and place the lod at the third component otherwise. Signed-off-by: Georg Lehmann <dadschoorse@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18114>
This commit is contained in:
parent
6eb4dfca23
commit
a82b9d6001
3 changed files with 36 additions and 404 deletions
|
|
@ -41,198 +41,3 @@ dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_be
|
|||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.a2b10g10r10_uint_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.a2b10g10r10_unorm_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.b10g11r11_ufloat_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32b32a32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32b32a32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32b32a32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.a2b10g10r10_uint_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.a2b10g10r10_unorm_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.b10g11r11_ufloat_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32b32a32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32b32a32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32b32a32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.a2b10g10r10_uint_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.a2b10g10r10_unorm_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.b10g11r11_ufloat_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32b32a32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32b32a32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32b32a32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.a2b10g10r10_uint_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.a2b10g10r10_unorm_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.b10g11r11_ufloat_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32b32a32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32b32a32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32b32a32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.a2b10g10r10_uint_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.a2b10g10r10_unorm_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.b10g11r11_ufloat_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32b32a32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32b32a32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32b32a32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_unorm,Fail
|
||||
|
|
|
|||
|
|
@ -37,198 +37,3 @@ dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_be
|
|||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.4_bit_transfer_src_optimal_general_bind_offset,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_general_general_bind_offset,Fail
|
||||
dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.8_bit_transfer_src_optimal_general_bind_offset,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.a2b10g10r10_uint_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.a2b10g10r10_unorm_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.b10g11r11_ufloat_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r16g16b16a16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32b32a32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32b32a32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r32g32b32a32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d.r8g8b8a8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.a2b10g10r10_uint_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.a2b10g10r10_unorm_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.b10g11r11_ufloat_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r16g16b16a16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32b32a32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32b32a32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r32g32b32a32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.2d_array.r8g8b8a8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.a2b10g10r10_uint_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.a2b10g10r10_unorm_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.b10g11r11_ufloat_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r16g16b16a16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32b32a32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32b32a32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r32g32b32a32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube.r8g8b8a8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.a2b10g10r10_uint_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.a2b10g10r10_unorm_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.b10g11r11_ufloat_pack32_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r16g16b16a16_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32b32a32_sfloat_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32b32a32_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r32g32b32a32_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_sint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_snorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_uint_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.with_format.cube_array.r8g8b8a8_unorm_single_layer,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.a2b10g10r10_uint_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.a2b10g10r10_unorm_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.b10g11r11_ufloat_pack32,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r16g16b16a16_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32b32a32_sfloat,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32b32a32_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r32g32b32a32_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8_unorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_sint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_snorm,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_uint,Fail
|
||||
dEQP-VK.image.load_store_lod.without_format.2d.r8g8b8a8_unorm,Fail
|
||||
|
|
|
|||
|
|
@ -6141,6 +6141,21 @@ get_image_coords(isel_context* ctx, const nir_intrinsic_instr* instr)
|
|||
coords.emplace_back(emit_extract_vector(ctx, src0, i, rc));
|
||||
}
|
||||
|
||||
bool has_lod = false;
|
||||
Temp lod;
|
||||
|
||||
if (instr->intrinsic == nir_intrinsic_bindless_image_load ||
|
||||
instr->intrinsic == nir_intrinsic_bindless_image_sparse_load ||
|
||||
instr->intrinsic == nir_intrinsic_bindless_image_store) {
|
||||
int lod_index = instr->intrinsic == nir_intrinsic_bindless_image_store ? 4 : 3;
|
||||
assert(instr->src[lod_index].ssa->bit_size == (a16 ? 16 : 32));
|
||||
has_lod =
|
||||
!nir_src_is_const(instr->src[lod_index]) || nir_src_as_uint(instr->src[lod_index]) != 0;
|
||||
|
||||
if (has_lod)
|
||||
lod = get_ssa_temp_tex(ctx, instr->src[lod_index].ssa, a16);
|
||||
}
|
||||
|
||||
if (ctx->options->key.image_2d_view_of_3d &&
|
||||
dim == GLSL_SAMPLER_DIM_2D && !is_array) {
|
||||
/* The hw can't bind a slice of a 3D image as a 2D image, because it
|
||||
|
|
@ -6151,9 +6166,25 @@ get_image_coords(isel_context* ctx, const nir_intrinsic_instr* instr)
|
|||
Temp rsrc = bld.as_uniform(get_ssa_temp(ctx, instr->src[0].ssa));
|
||||
Temp rsrc_word5 = emit_extract_vector(ctx, rsrc, 5, v1);
|
||||
/* Extract the BASE_ARRAY field [0:12] from the descriptor. */
|
||||
Temp first_layer =
|
||||
bld.vop3(aco_opcode::v_bfe_u32, bld.def(v1), rsrc_word5,
|
||||
Operand::c32(0u), Operand::c32(13u));
|
||||
Temp first_layer = bld.vop3(aco_opcode::v_bfe_u32, bld.def(v1), rsrc_word5, Operand::c32(0u),
|
||||
Operand::c32(13u));
|
||||
|
||||
if (has_lod) {
|
||||
/* If there's a lod parameter it matter if the image is 3d or 2d because
|
||||
* the hw reads either the fourth or third component as lod. So detect
|
||||
* 3d images and place the lod at the third component otherwise.
|
||||
* For non 3D descriptors we effectively add lod twice to coords,
|
||||
* but the hw will only read the first one, the second is ignored.
|
||||
*/
|
||||
Temp rsrc_word3 = emit_extract_vector(ctx, rsrc, 3, s1);
|
||||
Temp type = bld.sop2(aco_opcode::s_bfe_u32, bld.def(s1), bld.def(s1, scc), rsrc_word3,
|
||||
Operand::c32(28 | (4 << 16))); /* extract last 4 bits */
|
||||
Temp is_3d = bld.vopc_e64(aco_opcode::v_cmp_eq_u32, bld.def(bld.lm), type,
|
||||
Operand::c32(V_008F1C_SQ_RSRC_IMG_3D));
|
||||
first_layer =
|
||||
bld.vop2(aco_opcode::v_cndmask_b32, bld.def(v1), as_vgpr(ctx, lod), first_layer, is_3d);
|
||||
}
|
||||
|
||||
if (a16)
|
||||
coords.emplace_back(emit_extract_vector(ctx, first_layer, 0, v2b));
|
||||
else
|
||||
|
|
@ -6165,17 +6196,8 @@ get_image_coords(isel_context* ctx, const nir_intrinsic_instr* instr)
|
|||
coords.emplace_back(get_ssa_temp_tex(ctx, instr->src[2].ssa, a16));
|
||||
}
|
||||
|
||||
if (instr->intrinsic == nir_intrinsic_bindless_image_load ||
|
||||
instr->intrinsic == nir_intrinsic_bindless_image_sparse_load ||
|
||||
instr->intrinsic == nir_intrinsic_bindless_image_store) {
|
||||
int lod_index = instr->intrinsic == nir_intrinsic_bindless_image_store ? 4 : 3;
|
||||
assert(instr->src[lod_index].ssa->bit_size == (a16 ? 16 : 32));
|
||||
bool level_zero =
|
||||
nir_src_is_const(instr->src[lod_index]) && nir_src_as_uint(instr->src[lod_index]) == 0;
|
||||
|
||||
if (!level_zero)
|
||||
coords.emplace_back(get_ssa_temp_tex(ctx, instr->src[lod_index].ssa, a16));
|
||||
}
|
||||
if (has_lod)
|
||||
coords.emplace_back(lod);
|
||||
|
||||
return emit_pack_v1(ctx, coords);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue