From 52af60c002b457dbc09044dc2e88ccee9cb59555 Mon Sep 17 00:00:00 2001 From: Arkadiusz Sarwa Date: Fri, 9 Jun 2017 17:58:01 +0200 Subject: [PATCH] VK_KHR_maintenance2: View block-compressed formats Add tests: * dEQP-VK.image.texel_view_compatible.compute.image_load.* * dEQP-VK.image.texel_view_compatible.compute.texel_fetch.* * dEQP-VK.image.texel_view_compatible.compute.texture.* * dEQP-VK.image.texel_view_compatible.compute.image_store.* * dEQP-VK.image.texel_view_compatible.graphic.attachment_read.* * dEQP-VK.image.texel_view_compatible.graphic.attachment_write.* * dEQP-VK.image.texel_view_compatible.graphic.texture_read.* * dEQP-VK.image.texel_view_compatible.graphic.texture_write.* Components: Vulkan VK-GL-CTS issue: 124 Change-Id: I8f12778e764144198dab603dbef72257faed0503 --- AndroidGen.mk | 1 + android/cts/master/vk-master.txt | 1968 +++++++++++++++++ .../vulkancts/modules/vulkan/image/CMakeLists.txt | 2 + .../vktImageCompressionTranscodingSupport.cpp | 2245 ++++++++++++++++++++ .../vktImageCompressionTranscodingSupport.hpp | 39 + .../modules/vulkan/image/vktImageTests.cpp | 2 + .../modules/vulkan/image/vktImageTestsUtil.cpp | 667 +++++- .../modules/vulkan/image/vktImageTestsUtil.hpp | 179 +- external/vulkancts/mustpass/1.0.3/vk-default.txt | 1968 +++++++++++++++++ 9 files changed, 6999 insertions(+), 72 deletions(-) create mode 100644 external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp create mode 100644 external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.hpp diff --git a/AndroidGen.mk b/AndroidGen.mk index b7c5456..17ae902 100644 --- a/AndroidGen.mk +++ b/AndroidGen.mk @@ -113,6 +113,7 @@ LOCAL_SRC_FILES := \ external/vulkancts/modules/vulkan/geometry/vktGeometryTestsUtil.cpp \ external/vulkancts/modules/vulkan/geometry/vktGeometryVaryingGeometryShaderTests.cpp \ external/vulkancts/modules/vulkan/image/vktImageAtomicOperationTests.cpp \ + external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp \ external/vulkancts/modules/vulkan/image/vktImageLoadStoreTests.cpp \ external/vulkancts/modules/vulkan/image/vktImageLoadStoreUtil.cpp \ external/vulkancts/modules/vulkan/image/vktImageMultisampleLoadStoreTests.cpp \ diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 5098c7a..779afb9 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -199463,6 +199463,1974 @@ dEQP-VK.image.atomic_operations.exchange.cube_array.r32ui_end_result dEQP-VK.image.atomic_operations.exchange.cube_array.r32ui_intermediate_values dEQP-VK.image.atomic_operations.exchange.cube_array.r32i_end_result dEQP-VK.image.atomic_operations.exchange.cube_array.r32i_intermediate_values +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_srgb_block.r32g32b32a32_sfloat dEQP-VK.wsi.android.surface.create dEQP-VK.wsi.android.surface.create_custom_allocator dEQP-VK.wsi.android.surface.create_simulate_oom diff --git a/external/vulkancts/modules/vulkan/image/CMakeLists.txt b/external/vulkancts/modules/vulkan/image/CMakeLists.txt index 8922c19..4812ace 100644 --- a/external/vulkancts/modules/vulkan/image/CMakeLists.txt +++ b/external/vulkancts/modules/vulkan/image/CMakeLists.txt @@ -17,6 +17,8 @@ set(DEQP_VK_IMAGE_SRCS vktImageTexture.hpp vktImageMultisampleLoadStoreTests.cpp vktImageMultisampleLoadStoreTests.hpp + vktImageCompressionTranscodingSupport.cpp + vktImageCompressionTranscodingSupport.hpp vktImageLoadStoreUtil.cpp vktImageLoadStoreUtil.hpp ) diff --git a/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp b/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp new file mode 100644 index 0000000..9e335cb --- /dev/null +++ b/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.cpp @@ -0,0 +1,2245 @@ +/*------------------------------------------------------------------------ + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2017 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file vktImageCompressionTranscodingSupport.cpp + * \brief Compression transcoding support + *//*--------------------------------------------------------------------*/ + +#include "vktImageCompressionTranscodingSupport.hpp" + +#include "deUniquePtr.hpp" +#include "deStringUtil.hpp" +#include "deSharedPtr.hpp" +#include "deRandom.hpp" + +#include "vktTestCaseUtil.hpp" +#include "vkPrograms.hpp" +#include "vkImageUtil.hpp" +#include "vktImageTestsUtil.hpp" +#include "vkBuilderUtil.hpp" +#include "vkRef.hpp" +#include "vkRefUtil.hpp" +#include "vkTypeUtil.hpp" +#include "vkQueryUtil.hpp" + +#include "tcuTextureUtil.hpp" +#include "tcuTexture.hpp" +#include "tcuCompressedTexture.hpp" +#include "tcuVectorType.hpp" +#include "tcuResource.hpp" +#include "tcuImageIO.hpp" +#include "tcuImageCompare.hpp" +#include "tcuTestLog.hpp" +#include "tcuRGBA.hpp" +#include "tcuSurface.hpp" + +#include +#include + +using namespace vk; +namespace vkt +{ +namespace image +{ +namespace +{ +using std::string; +using std::vector; +using tcu::TestContext; +using tcu::TestStatus; +using tcu::UVec3; +using tcu::CompressedTexFormat; +using tcu::CompressedTexture; +using tcu::Resource; +using tcu::Archive; +using de::MovePtr; +using de::SharedPtr; +using de::Random; + +typedef SharedPtr > ImageSp; +typedef SharedPtr > ImageViewSp; + +enum ShaderType +{ + SHADER_TYPE_COMPUTE, + SHADER_TYPE_FRAGMENT, + SHADER_TYPE_LAST +}; + +enum Operation +{ + OPERATION_IMAGE_LOAD, + OPERATION_TEXEL_FETCH, + OPERATION_TEXTURE, + OPERATION_IMAGE_STORE, + OPERATION_ATTACHMENT_READ, + OPERATION_ATTACHMENT_WRITE, + OPERATION_TEXTURE_READ, + OPERATION_TEXTURE_WRITE, + OPERATION_LAST +}; + +struct TestParameters +{ + Operation operation; + ShaderType shader; + UVec3 size; + ImageType imageType; + VkFormat formatCompressed; + VkFormat formatUncompressed; + deUint32 imagesCount; + VkImageUsageFlags compressedImageUsage; + VkImageUsageFlags uncompressedImageUsage; + bool useMipmaps; + VkFormat formatForVerify; +}; + +template +inline SharedPtr > makeVkSharedPtr (Move move) +{ + return SharedPtr >(new vk::Move(move)); +} + +template +inline SharedPtr > makeVkSharedPtr (MovePtr movePtr) +{ + return SharedPtr >(new MovePtr(movePtr)); +} + +class BasicTranscodingTestInstance : public TestInstance +{ +public: + BasicTranscodingTestInstance (Context& contex, + const TestParameters& parameters); + virtual TestStatus iterate (void) = 0; +protected: + void generateData (deUint8* toFill, + size_t size, + const VkFormat format = VK_FORMAT_UNDEFINED); + const TestParameters m_parameters; +}; + +BasicTranscodingTestInstance::BasicTranscodingTestInstance (Context& context, const TestParameters& parameters) + : TestInstance (context) + , m_parameters (parameters) +{ +} + +void BasicTranscodingTestInstance::generateData (deUint8* toFill, size_t size, const VkFormat format) +{ + const deUint8 pattern[] = + { + // 64-bit values + 0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, + 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Positive infinity + 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Negative infinity + 0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // Start of a signalling NaN (NANS) + 0x7F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // End of a signalling NaN (NANS) + 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, // Start of a signalling NaN (NANS) + 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // End of a signalling NaN (NANS) + 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Start of a quiet NaN (NANQ) + 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // End of of a quiet NaN (NANQ) + 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Start of a quiet NaN (NANQ) + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // End of a quiet NaN (NANQ) + // 32-bit values + 0x7F, 0x80, 0x00, 0x00, // Positive infinity + 0xFF, 0x80, 0x00, 0x00, // Negative infinity + 0x7F, 0x80, 0x00, 0x01, // Start of a signalling NaN (NANS) + 0x7F, 0xBF, 0xFF, 0xFF, // End of a signalling NaN (NANS) + 0xFF, 0x80, 0x00, 0x01, // Start of a signalling NaN (NANS) + 0xFF, 0xBF, 0xFF, 0xFF, // End of a signalling NaN (NANS) + 0x7F, 0xC0, 0x00, 0x00, // Start of a quiet NaN (NANQ) + 0x7F, 0xFF, 0xFF, 0xFF, // End of of a quiet NaN (NANQ) + 0xFF, 0xC0, 0x00, 0x00, // Start of a quiet NaN (NANQ) + 0xFF, 0xFF, 0xFF, 0xFF, // End of a quiet NaN (NANQ) + 0xAA, 0xAA, 0xAA, 0xAA, + 0x55, 0x55, 0x55, 0x55, + }; + + deUint8* start = toFill; + size_t sizeToRnd = size; + + // Pattern part + if (size >= 2 * sizeof(pattern)) + { + // Rotated pattern + for (size_t i = 0; i < sizeof(pattern); i++) + start[sizeof(pattern) - i - 1] = pattern[i]; + + start += sizeof(pattern); + sizeToRnd -= sizeof(pattern); + + // Direct pattern + deMemcpy(start, pattern, sizeof(pattern)); + + start += sizeof(pattern); + sizeToRnd -= sizeof(pattern); + } + + // Random part + { + DE_ASSERT(sizeToRnd % sizeof(deUint32) == 0); + + deUint32* start32 = reinterpret_cast(start); + size_t sizeToRnd32 = sizeToRnd / sizeof(deUint32); + Random rnd (static_cast(format)); + + for (size_t i = 0; i < sizeToRnd32; i++) + start32[i] = rnd.getUint32(); + } + + { + // Remove certain values that may not be preserved based on the uncompressed view format + if (isSnormFormat(m_parameters.formatUncompressed)) + { + for (size_t i = 0; i < size; i += 2) + { + // SNORM fix: due to write operation in SNORM format + // replaces 0x00 0x80 to 0x01 0x80 + if (toFill[i] == 0x00 && toFill[i+1] == 0x80) + toFill[i+1] = 0x81; + } + } + else if (isFloatFormat(m_parameters.formatUncompressed)) + { + tcu::TextureFormat textureFormat = mapVkFormat(m_parameters.formatUncompressed); + + if (textureFormat.type == tcu::TextureFormat::HALF_FLOAT) + { + for (size_t i = 0; i < size; i += 2) + { + // HALF_FLOAT fix: remove INF and NaN + if ((toFill[i+1] & 0x7C) == 0x7C) + toFill[i+1] = 0x00; + } + } + else if (textureFormat.type == tcu::TextureFormat::FLOAT) + { + for (size_t i = 0; i < size; i += 4) + { + // HALF_FLOAT fix: remove INF and NaN + if ((toFill[i+1] & 0x7C) == 0x7C) + toFill[i+1] = 0x00; + } + + for (size_t i = 0; i < size; i += 4) + { + // FLOAT fix: remove INF, NaN, and denorm + // Little endian fix + if (((toFill[i+3] & 0x7F) == 0x7F && (toFill[i+2] & 0x80) == 0x80) || ((toFill[i+3] & 0x7F) == 0x00 && (toFill[i+2] & 0x80) == 0x00)) + toFill[i+3] = 0x01; + // Big endian fix + if (((toFill[i+0] & 0x7F) == 0x7F && (toFill[i+1] & 0x80) == 0x80) || ((toFill[i+0] & 0x7F) == 0x00 && (toFill[i+1] & 0x80) == 0x00)) + toFill[i+0] = 0x01; + } + } + } + } +} + +class BasicComputeTestInstance : public BasicTranscodingTestInstance +{ +public: + BasicComputeTestInstance (Context& contex, + const TestParameters& parameters); + TestStatus iterate (void); +protected: + void copyDataToImage (const VkCommandBuffer& cmdBuffer, + const VkImage& compressed, + const VkImageCreateInfo& imageInfo); + virtual void executeShader (const VkCommandBuffer& cmdBuffer, + const VkDescriptorSetLayout& descriptorSetLayout, + const VkDescriptorPool& descriptorPool, + const vector& images, + const vector& imageViews); + bool copyResultAndCompare (const VkCommandBuffer& cmdBuffer, + const VkImage& uncompressed); + void descriptorSetUpdate (VkDescriptorSet descriptorSet, + const VkDescriptorImageInfo* descriptorImageInfos); + void createImageInfos (VkImageCreateInfo* imageInfos); + bool decompressImage (const VkCommandBuffer& cmdBuffer, + const VkImage& uncompressed, + const VkImage& compressed, + const VkExtent3D& extentunCompressed); + vector m_data; +}; + +BasicComputeTestInstance::BasicComputeTestInstance (Context& context, const TestParameters& parameters) + :BasicTranscodingTestInstance (context, parameters) + ,m_data (static_cast(getCompressedImageSizeInBytes(parameters.formatCompressed, parameters.size))) +{ + generateData (&m_data[0], m_data.size(), m_parameters.formatCompressed); +} + +TestStatus BasicComputeTestInstance::iterate (void) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex(); + Allocator& allocator = m_context.getDefaultAllocator(); + + Move descriptorSetLayout; + Move descriptorPool; + + vector images; + vector imagesInfo (m_parameters.imagesCount); + createImageInfos(&imagesInfo[0]); + vector imageViews (m_parameters.imagesCount); + images.resize(m_parameters.imagesCount); + const deUint32 compressedNdx = 0u; + const deUint32 uncompressedNdx = m_parameters.imagesCount - 1u; + + { + DescriptorSetLayoutBuilder descriptorSetLayoutBuilder; + DescriptorPoolBuilder descriptorPoolBuilder; + + for (deUint32 imageNdx = 0; imageNdx < m_parameters.imagesCount; ++imageNdx) + { + images[imageNdx] = makeVkSharedPtr(MovePtr(new Image(vk, device, allocator, imagesInfo[imageNdx], MemoryRequirement::Any))); + if (compressedNdx == imageNdx) + { + const VkImageViewUsageCreateInfoKHR imageViewUsageCreateInfoKHR = + { + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, //VkStructureType sType; + DE_NULL, //const void* pNext; + m_parameters.compressedImageUsage, //VkImageUsageFlags usage; + }; + imageViews[imageNdx] = makeVkSharedPtr(makeImageView(vk, device, **images[imageNdx]->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatUncompressed, + makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, imagesInfo[imageNdx].extent.depth, 0u, imagesInfo[imageNdx].arrayLayers), &imageViewUsageCreateInfoKHR)); + } + else + { + imageViews[imageNdx] = makeVkSharedPtr(makeImageView(vk, device, **images[imageNdx]->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatUncompressed, + makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, imagesInfo[imageNdx].extent.depth, 0u, imagesInfo[imageNdx].arrayLayers))); + } + switch(m_parameters.operation) + { + case OPERATION_IMAGE_LOAD: + case OPERATION_IMAGE_STORE: + descriptorSetLayoutBuilder.addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT); + descriptorPoolBuilder.addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, imagesInfo[imageNdx].arrayLayers); + break; + case OPERATION_TEXEL_FETCH: + case OPERATION_TEXTURE: + descriptorSetLayoutBuilder.addSingleBinding((compressedNdx == imageNdx) ? VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER : VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT); + descriptorPoolBuilder.addType((compressedNdx == imageNdx) ? VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER : VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, imagesInfo[imageNdx].arrayLayers); + break; + default: + DE_ASSERT(false); + break; + } + } + descriptorSetLayout = descriptorSetLayoutBuilder.build(vk, device); + descriptorPool = descriptorPoolBuilder.build(vk, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, imagesInfo[0].arrayLayers); + } + + const Unique cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex)); + const Unique cmdBuffer (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY)); + + switch(m_parameters.operation) + { + case OPERATION_IMAGE_LOAD: + case OPERATION_TEXEL_FETCH: + case OPERATION_TEXTURE: + copyDataToImage(*cmdBuffer, **images[compressedNdx]->get(), imagesInfo[compressedNdx]); + break; + case OPERATION_IMAGE_STORE: + copyDataToImage(*cmdBuffer, **images[1]->get(), imagesInfo[1]); + break; + default: + DE_ASSERT(false); + break; + } + executeShader(*cmdBuffer, *descriptorSetLayout, *descriptorPool, images, imageViews); + + if (copyResultAndCompare(*cmdBuffer, **images[uncompressedNdx]->get()) && + decompressImage(*cmdBuffer, **images[uncompressedNdx]->get(), **images[compressedNdx]->get(), imagesInfo[uncompressedNdx].extent)) + { + return TestStatus::pass("Pass"); + } + return TestStatus::fail("Fail"); +} + +void BasicComputeTestInstance::copyDataToImage (const VkCommandBuffer& cmdBuffer, const VkImage& compressed, const VkImageCreateInfo& imageInfo) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const VkQueue queue = m_context.getUniversalQueue(); + Allocator& allocator = m_context.getDefaultAllocator(); + + Buffer imageBuffer (vk, device, allocator, + makeBufferCreateInfo(m_data.size(), VK_BUFFER_USAGE_TRANSFER_SRC_BIT), + MemoryRequirement::HostVisible); + { + const Allocation& alloc = imageBuffer.getAllocation(); + deMemcpy(alloc.getHostPtr(), &m_data[0], m_data.size()); + flushMappedMemoryRange(vk, device, alloc.getMemory(), alloc.getOffset(), m_data.size()); + } + + beginCommandBuffer(vk, cmdBuffer); + { + const VkImageSubresourceRange subresourceRange = + { + VK_IMAGE_ASPECT_COLOR_BIT, //VkImageAspectFlags aspectMask + 0u, //deUint32 baseMipLevel + 1u, //deUint32 levelCount + 0u, //deUint32 baseArrayLayer + 1 //deUint32 layerCount + }; + + const VkImageMemoryBarrier preCopyImageBarrier = makeImageMemoryBarrier( + 0u, VK_ACCESS_TRANSFER_WRITE_BIT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, + compressed, subresourceRange); + + const VkBufferMemoryBarrier FlushHostCopyBarrier = makeBufferMemoryBarrier( + VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + imageBuffer.get(), 0ull, m_data.size()); + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, + (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1u, &FlushHostCopyBarrier, 1u, &preCopyImageBarrier); + + const VkBufferImageCopy copyRegion = + { + 0ull, // VkDeviceSize bufferOffset; + 0u, // deUint32 bufferRowLength; + 0u, // deUint32 bufferImageHeight; + makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 0u, 1u), // VkImageSubresourceLayers imageSubresource; + makeOffset3D(0, 0, 0), // VkOffset3D imageOffset; + imageInfo.extent, // VkExtent3D imageExtent; + }; + + vk.cmdCopyBufferToImage(cmdBuffer, imageBuffer.get(), compressed, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1u, ©Region); + } + endCommandBuffer(vk, cmdBuffer); + submitCommandsAndWait(vk, device, queue, cmdBuffer); +} + +void BasicComputeTestInstance::executeShader (const VkCommandBuffer& cmdBuffer, + const VkDescriptorSetLayout& descriptorSetLayout, + const VkDescriptorPool& descriptorPool, + const vector& images, + const vector& imageViews) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const VkQueue queue = m_context.getUniversalQueue(); + const Unique shaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("comp"), 0)); + Move descriptorSet = makeDescriptorSet(vk, device, descriptorPool, descriptorSetLayout); + const Unique pipelineLayout (makePipelineLayout(vk, device, descriptorSetLayout)); + const Unique pipeline (makeComputePipeline(vk, device, *pipelineLayout, *shaderModule)); + const UVec3 extentUncompressed = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size); + Move sampler; + { + const vk::VkSamplerCreateInfo createInfo = + { + vk::VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO, //VkStructureType sType; + DE_NULL, //const void* pNext; + 0u, //VkSamplerCreateFlags flags; + VK_FILTER_NEAREST, //VkFilter magFilter; + VK_FILTER_NEAREST, //VkFilter minFilter; + VK_SAMPLER_MIPMAP_MODE_NEAREST, //VkSamplerMipmapMode mipmapMode; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, //VkSamplerAddressMode addressModeU; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, //VkSamplerAddressMode addressModeV; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, //VkSamplerAddressMode addressModeW; + 0.0f, //float mipLodBias; + VK_FALSE, //VkBool32 anisotropyEnable; + 1.0f, //float maxAnisotropy; + VK_TRUE, //VkBool32 compareEnable; + VK_COMPARE_OP_EQUAL, //VkCompareOp compareOp; + 0.0f, //float minLod; + 0.0f, //float maxLod; + VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, //VkBorderColor borderColor; + VK_TRUE, //VkBool32 unnormalizedCoordinates; + }; + sampler = vk::createSampler(vk, device, &createInfo); + } + + vector descriptorImageInfos (m_parameters.imagesCount); + for (deUint32 bindingNdx = 0; bindingNdx < m_parameters.imagesCount; ++bindingNdx) + descriptorImageInfos[bindingNdx] = makeDescriptorImageInfo(*sampler, **imageViews[bindingNdx], VK_IMAGE_LAYOUT_GENERAL); + + beginCommandBuffer(vk, cmdBuffer); + { + const VkImageSubresourceRange subresourceRange = + { + VK_IMAGE_ASPECT_COLOR_BIT, //VkImageAspectFlags aspectMask + 0u, //deUint32 baseMipLevel + 1u, //deUint32 levelCount + 0u, //deUint32 baseArrayLayer + 1u //deUint32 layerCount + }; + + vk.cmdBindPipeline(cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *pipeline); + + const VkImageMemoryBarrier preShaderImageBarriers[] = + { + makeImageMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, + **images[0]->get(), subresourceRange), + + makeImageMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_WRITE_BIT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, + **images[1]->get(), subresourceRange) + }; + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, + (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0u, (const VkBufferMemoryBarrier*)DE_NULL, + DE_LENGTH_OF_ARRAY(preShaderImageBarriers), preShaderImageBarriers); + + descriptorSetUpdate (*descriptorSet, &descriptorImageInfos[0]); + + vk.cmdBindDescriptorSets(cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *pipelineLayout, 0u, 1u, &descriptorSet.get(), 0u, DE_NULL); + vk.cmdDispatch(cmdBuffer, extentUncompressed.x(), extentUncompressed.y(), extentUncompressed.z()); + } + endCommandBuffer(vk, cmdBuffer); + submitCommandsAndWait(vk, device, queue, cmdBuffer); +} + +bool BasicComputeTestInstance::copyResultAndCompare (const VkCommandBuffer& cmdBuffer, const VkImage& uncompressed) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkQueue queue = m_context.getUniversalQueue(); + const VkDevice device = m_context.getDevice(); + Allocator& allocator = m_context.getDefaultAllocator(); + const UVec3 extentUncompressed = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size); + + vk::VkDeviceSize imageResultSize = getImageSizeBytes (tcu::IVec3(extentUncompressed.x(), extentUncompressed.y(), extentUncompressed.z()), m_parameters.formatUncompressed); + Buffer imageBufferResult (vk, device, allocator, + makeBufferCreateInfo(imageResultSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT), + MemoryRequirement::HostVisible); + + beginCommandBuffer(vk, cmdBuffer); + { + const VkImageSubresourceRange subresourceRange = + { + VK_IMAGE_ASPECT_COLOR_BIT, //VkImageAspectFlags aspectMask + 0u, //deUint32 baseMipLevel + 1u, //deUint32 levelCount + 0u, //deUint32 baseArrayLayer + 1u //deUint32 layerCount + }; + + const VkBufferImageCopy copyRegion = + { + 0ull, // VkDeviceSize bufferOffset; + 0u, // deUint32 bufferRowLength; + 0u, // deUint32 bufferImageHeight; + makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 0u, 1u), // VkImageSubresourceLayers imageSubresource; + makeOffset3D(0, 0, 0), // VkOffset3D imageOffset; + makeExtent3D(extentUncompressed), // VkExtent3D imageExtent; + }; + + const VkImageMemoryBarrier prepareForTransferBarrier = makeImageMemoryBarrier( + VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, + uncompressed, subresourceRange); + + const VkBufferMemoryBarrier copyBarrier = makeBufferMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, + imageBufferResult.get(), 0ull, imageResultSize); + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &prepareForTransferBarrier); + vk.cmdCopyImageToBuffer(cmdBuffer, uncompressed, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, imageBufferResult.get(), 1u, ©Region); + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, ©Barrier, 0, (const VkImageMemoryBarrier*)DE_NULL); + } + endCommandBuffer(vk, cmdBuffer); + submitCommandsAndWait(vk, device, queue, cmdBuffer); + + const Allocation& allocResult = imageBufferResult.getAllocation(); + invalidateMappedMemoryRange(vk, device, allocResult.getMemory(), allocResult.getOffset(), imageResultSize); + + if (deMemCmp(allocResult.getHostPtr(), &m_data[0], (size_t)imageResultSize) == 0) + return true; + return false; +} + +void BasicComputeTestInstance::descriptorSetUpdate (VkDescriptorSet descriptorSet, const VkDescriptorImageInfo* descriptorImageInfos) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + DescriptorSetUpdateBuilder descriptorSetUpdateBuilder; + + switch(m_parameters.operation) + { + case OPERATION_IMAGE_LOAD: + case OPERATION_IMAGE_STORE: + { + for (deUint32 bindingNdx = 0; bindingNdx < m_parameters.imagesCount; ++bindingNdx) + descriptorSetUpdateBuilder.writeSingle(descriptorSet, DescriptorSetUpdateBuilder::Location::binding(bindingNdx), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &descriptorImageInfos[bindingNdx]); + + break; + } + + case OPERATION_TEXEL_FETCH: + case OPERATION_TEXTURE: + { + for (deUint32 bindingNdx = 0; bindingNdx < m_parameters.imagesCount; ++bindingNdx) + { + descriptorSetUpdateBuilder.writeSingle(descriptorSet, DescriptorSetUpdateBuilder::Location::binding(bindingNdx), + bindingNdx == 0 ? VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER : VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &descriptorImageInfos[bindingNdx]); + } + break; + } + + default: + DE_ASSERT(false); + } + descriptorSetUpdateBuilder.update(vk, device); +} + +void BasicComputeTestInstance::createImageInfos (VkImageCreateInfo* imageInfos) +{ + const VkExtent3D extentUncompressed = makeExtent3D(getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size)); + const VkExtent3D extentCompressed = makeExtent3D(getLayerSize(m_parameters.imageType, m_parameters.size)); + const deUint32 arrayLayers = getNumLayers(m_parameters.imageType, m_parameters.size); + const VkImageType imageType = mapImageType(m_parameters.imageType); + + const VkImageCreateInfo compressedInfo = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | + VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR | + VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR, // VkImageCreateFlags flags; + imageType, // VkImageType imageType; + m_parameters.formatCompressed, // VkFormat format; + extentCompressed, // VkExtent3D extent; + 1u, // deUint32 mipLevels; + arrayLayers, // deUint32 arrayLayers; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling; + VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_STORAGE_BIT | + VK_IMAGE_USAGE_TRANSFER_SRC_BIT | + VK_IMAGE_USAGE_TRANSFER_DST_BIT, // VkImageUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout; + }; + imageInfos[0] = compressedInfo; + + for (size_t ndx = 1; ndx < m_parameters.imagesCount; ++ndx) + { + const VkImageCreateInfo uncompressedInfo = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + 0u, // VkImageCreateFlags flags; + imageType, // VkImageType imageType; + m_parameters.formatUncompressed, // VkFormat format; + extentUncompressed, // VkExtent3D extent; + 1u, // deUint32 mipLevels; + arrayLayers, // deUint32 arrayLayers; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling; + m_parameters.uncompressedImageUsage | + VK_IMAGE_USAGE_SAMPLED_BIT, // VkImageUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout; + }; + imageInfos[ndx] = uncompressedInfo; + } +} + +bool BasicComputeTestInstance::decompressImage (const VkCommandBuffer& cmdBuffer, const VkImage& uncompressed, const VkImage& compressed, const VkExtent3D& extentunCompressed) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const VkQueue queue = m_context.getUniversalQueue(); + Allocator& allocator = m_context.getDefaultAllocator(); + const Unique shaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("decompress"), 0)); + const VkImageCreateInfo decompressedImageInfo = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + 0u, // VkImageCreateFlags flags; + VK_IMAGE_TYPE_2D, // VkImageType imageType; + VK_FORMAT_R8G8B8A8_UNORM, // VkFormat format; + makeExtent3D(m_parameters.size), // VkExtent3D extent; + 1u, // deUint32 mipLevels; + 1u, // deUint32 arrayLayers; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling; + VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_STORAGE_BIT | + VK_IMAGE_USAGE_TRANSFER_SRC_BIT | + VK_IMAGE_USAGE_TRANSFER_DST_BIT, // VkImageUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout; + }; + const VkImageCreateInfo compressedImageInfo = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + 0u, // VkImageCreateFlags flags; + VK_IMAGE_TYPE_2D, // VkImageType imageType; + m_parameters.formatCompressed, // VkFormat format; + makeExtent3D(m_parameters.size), // VkExtent3D extent; + 1u, // deUint32 mipLevels; + 1u, // deUint32 arrayLayers; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling; + VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_TRANSFER_DST_BIT, // VkImageUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout; + }; + const VkImageUsageFlags compressedViewUsageFlags = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT; + const VkImageViewUsageCreateInfoKHR compressedViewUsageCI = + { + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, //VkStructureType sType; + DE_NULL, //const void* pNext; + compressedViewUsageFlags, //VkImageUsageFlags usage; + }; + Image resultImage (vk, device, allocator, decompressedImageInfo, MemoryRequirement::Any); + Image referenceImage (vk, device, allocator, decompressedImageInfo, MemoryRequirement::Any); + Image uncompressedImage (vk, device, allocator, compressedImageInfo, MemoryRequirement::Any); + Move resultView = makeImageView(vk, device, resultImage.get(), mapImageViewType(m_parameters.imageType), decompressedImageInfo.format, + makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, decompressedImageInfo.extent.depth, 0u, decompressedImageInfo.arrayLayers)); + Move referenceView = makeImageView(vk, device, referenceImage.get(), mapImageViewType(m_parameters.imageType), decompressedImageInfo.format, + makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, decompressedImageInfo.extent.depth, 0u, decompressedImageInfo.arrayLayers)); + Move uncompressedView = makeImageView(vk, device, uncompressedImage.get(), mapImageViewType(m_parameters.imageType), m_parameters.formatCompressed, + makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, compressedImageInfo.extent.depth, 0u, compressedImageInfo.arrayLayers)); + Move compressedView = makeImageView(vk, device, compressed, mapImageViewType(m_parameters.imageType), m_parameters.formatCompressed, + makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, compressedImageInfo.extent.depth, 0u, compressedImageInfo.arrayLayers), &compressedViewUsageCI); + Move descriptorSetLayout = DescriptorSetLayoutBuilder() + .addSingleBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_COMPUTE_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_COMPUTE_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT) + .build(vk, device); + Move descriptorPool = DescriptorPoolBuilder() + .addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, decompressedImageInfo.arrayLayers) + .addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, decompressedImageInfo.arrayLayers) + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, decompressedImageInfo.arrayLayers) + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, decompressedImageInfo.arrayLayers) + .build(vk, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, decompressedImageInfo.arrayLayers); + + Move descriptorSet = makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout); + const Unique pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout)); + const Unique pipeline (makeComputePipeline(vk, device, *pipelineLayout, *shaderModule)); + const VkDeviceSize bufferSize = getImageSizeBytes(tcu::IVec3((int)m_parameters.size.x(), (int)m_parameters.size.y(), (int)m_parameters.size.z()), VK_FORMAT_R8G8B8A8_UNORM); + Buffer resultBuffer (vk, device, allocator, + makeBufferCreateInfo(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT), MemoryRequirement::HostVisible); + Buffer referenceBuffer (vk, device, allocator, + makeBufferCreateInfo(bufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT), MemoryRequirement::HostVisible); + Buffer transferBuffer (vk, device, allocator, + makeBufferCreateInfo(m_data.size(), VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT), MemoryRequirement::HostVisible); + Move sampler; + { + const vk::VkSamplerCreateInfo createInfo = + { + vk::VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO, //VkStructureType sType; + DE_NULL, //const void* pNext; + 0u, //VkSamplerCreateFlags flags; + VK_FILTER_NEAREST, //VkFilter magFilter; + VK_FILTER_NEAREST, //VkFilter minFilter; + VK_SAMPLER_MIPMAP_MODE_NEAREST, //VkSamplerMipmapMode mipmapMode; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, //VkSamplerAddressMode addressModeU; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, //VkSamplerAddressMode addressModeV; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, //VkSamplerAddressMode addressModeW; + 0.0f, //float mipLodBias; + VK_FALSE, //VkBool32 anisotropyEnable; + 1.0f, //float maxAnisotropy; + VK_TRUE, //VkBool32 compareEnable; + VK_COMPARE_OP_EQUAL, //VkCompareOp compareOp; + 0.0f, //float minLod; + 0.0f, //float maxLod; + VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, //VkBorderColor borderColor; + VK_TRUE, //VkBool32 unnormalizedCoordinates; + }; + sampler = vk::createSampler(vk, device, &createInfo); + } + + VkDescriptorImageInfo descriptorImageInfos[] = + { + makeDescriptorImageInfo(*sampler, *uncompressedView, VK_IMAGE_LAYOUT_GENERAL), + makeDescriptorImageInfo(*sampler, *compressedView, VK_IMAGE_LAYOUT_GENERAL), + makeDescriptorImageInfo(DE_NULL, *resultView, VK_IMAGE_LAYOUT_GENERAL), + makeDescriptorImageInfo(DE_NULL, *referenceView, VK_IMAGE_LAYOUT_GENERAL) + }; + DescriptorSetUpdateBuilder() + .writeSingle(descriptorSet.get(), DescriptorSetUpdateBuilder::Location::binding(0), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &descriptorImageInfos[0]) + .writeSingle(descriptorSet.get(), DescriptorSetUpdateBuilder::Location::binding(1), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &descriptorImageInfos[1]) + .writeSingle(descriptorSet.get(), DescriptorSetUpdateBuilder::Location::binding(2), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &descriptorImageInfos[2]) + .writeSingle(descriptorSet.get(), DescriptorSetUpdateBuilder::Location::binding(3), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &descriptorImageInfos[3]) + .update(vk, device); + + + beginCommandBuffer(vk, cmdBuffer); + { + const VkImageSubresourceRange subresourceRange = + { + VK_IMAGE_ASPECT_COLOR_BIT, //VkImageAspectFlags aspectMask + 0u, //deUint32 baseMipLevel + 1u, //deUint32 levelCount + 0u, //deUint32 baseArrayLayer + 1 //deUint32 layerCount + }; + + const VkBufferImageCopy copyRegion = + { + 0ull, // VkDeviceSize bufferOffset; + 0u, // deUint32 bufferRowLength; + 0u, // deUint32 bufferImageHeight; + makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 0u, 1u), // VkImageSubresourceLayers imageSubresource; + makeOffset3D(0, 0, 0), // VkOffset3D imageOffset; + decompressedImageInfo.extent, // VkExtent3D imageExtent; + }; + + const VkBufferImageCopy compressedCopyRegion = + { + 0ull, // VkDeviceSize bufferOffset; + 0u, // deUint32 bufferRowLength; + 0u, // deUint32 bufferImageHeight; + makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 0u, 1u), // VkImageSubresourceLayers imageSubresource; + makeOffset3D(0, 0, 0), // VkOffset3D imageOffset; + extentunCompressed, // VkExtent3D imageExtent; + }; + + { + const VkBufferMemoryBarrier preCopyBufferBarriers = makeBufferMemoryBarrier(0u, VK_ACCESS_TRANSFER_WRITE_BIT, + transferBuffer.get(), 0ull, m_data.size()); + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, + (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1u, &preCopyBufferBarriers, 0u, (const VkImageMemoryBarrier*)DE_NULL); + } + + vk.cmdCopyImageToBuffer(cmdBuffer, uncompressed, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, transferBuffer.get(), 1u, &compressedCopyRegion); + + { + const VkBufferMemoryBarrier postCopyBufferBarriers = makeBufferMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + transferBuffer.get(), 0ull, m_data.size()); + + const VkImageMemoryBarrier preCopyImageBarriers = makeImageMemoryBarrier(0u, VK_ACCESS_TRANSFER_WRITE_BIT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, uncompressedImage.get(), subresourceRange); + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, + (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1u, &postCopyBufferBarriers, 1u, &preCopyImageBarriers); + } + + vk.cmdCopyBufferToImage(cmdBuffer, transferBuffer.get(), uncompressedImage.get(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1u, ©Region); + + vk.cmdBindPipeline(cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *pipeline); + vk.cmdBindDescriptorSets(cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *pipelineLayout, 0u, 1u, &descriptorSet.get(), 0u, DE_NULL); + + { + const VkImageMemoryBarrier preShaderImageBarriers[] = + { + makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, + uncompressedImage.get(), subresourceRange), + + makeImageMemoryBarrier(0u, VK_ACCESS_SHADER_WRITE_BIT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, + resultImage.get(), subresourceRange), + + makeImageMemoryBarrier(0u, VK_ACCESS_SHADER_WRITE_BIT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, + referenceImage.get(), subresourceRange) + }; + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, + (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0u, (const VkBufferMemoryBarrier*)DE_NULL, + DE_LENGTH_OF_ARRAY(preShaderImageBarriers), preShaderImageBarriers); + } + + vk.cmdDispatch(cmdBuffer, m_parameters.size.x(), m_parameters.size.y(), m_parameters.size.z()); + + { + const VkImageMemoryBarrier postShaderImageBarriers[] = + { + makeImageMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, + resultImage.get(), subresourceRange), + + makeImageMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, + referenceImage.get(), subresourceRange) + }; + + const VkBufferMemoryBarrier preCopyBufferBarrier[] = + { + makeBufferMemoryBarrier( 0, VK_BUFFER_USAGE_TRANSFER_DST_BIT, + resultBuffer.get(), 0ull, bufferSize), + + makeBufferMemoryBarrier( 0, VK_BUFFER_USAGE_TRANSFER_DST_BIT, + referenceBuffer.get(), 0ull, bufferSize), + }; + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, + (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, DE_LENGTH_OF_ARRAY(preCopyBufferBarrier), preCopyBufferBarrier, + DE_LENGTH_OF_ARRAY(postShaderImageBarriers), postShaderImageBarriers); + } + vk.cmdCopyImageToBuffer(cmdBuffer, resultImage.get(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, resultBuffer.get(), 1u, ©Region); + vk.cmdCopyImageToBuffer(cmdBuffer, referenceImage.get(), VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, referenceBuffer.get(), 1u, ©Region); + } + endCommandBuffer(vk, cmdBuffer); + submitCommandsAndWait(vk, device, queue, cmdBuffer); + + const Allocation& resultAlloc = resultBuffer.getAllocation(); + const Allocation& referenceAlloc = referenceBuffer.getAllocation(); + invalidateMappedMemoryRange(vk, device, resultAlloc.getMemory(), resultAlloc.getOffset(), bufferSize); + invalidateMappedMemoryRange(vk, device, referenceAlloc.getMemory(), referenceAlloc.getOffset(), bufferSize); + + tcu::ConstPixelBufferAccess resultPixels (mapVkFormat(decompressedImageInfo.format), decompressedImageInfo.extent.width, decompressedImageInfo.extent.height, decompressedImageInfo.extent.depth, resultAlloc.getHostPtr()); + tcu::ConstPixelBufferAccess referencePixels (mapVkFormat(decompressedImageInfo.format), decompressedImageInfo.extent.width, decompressedImageInfo.extent.height, decompressedImageInfo.extent.depth, referenceAlloc.getHostPtr()); + + return tcu::fuzzyCompare(m_context.getTestContext().getLog(), "ImageComparison", "Image Comparison", resultPixels, referencePixels, 0.001f, tcu::COMPARE_LOG_EVERYTHING); +} + + +class ImageStoreComputeTestInstance : public BasicComputeTestInstance +{ +public: + ImageStoreComputeTestInstance (Context& contex, const TestParameters& parameters); +protected: + virtual void executeShader (const VkCommandBuffer& cmdBuffer, + const VkDescriptorSetLayout& descriptorSetLayout, + const VkDescriptorPool& descriptorPool, + const vector& images, + const vector& imageViews); +private: +}; + +ImageStoreComputeTestInstance::ImageStoreComputeTestInstance (Context& contex, const TestParameters& parameters) + :BasicComputeTestInstance (contex, parameters) +{ +} + +void ImageStoreComputeTestInstance::executeShader (const VkCommandBuffer& cmdBuffer, + const VkDescriptorSetLayout& descriptorSetLayout, + const VkDescriptorPool& descriptorPool, + const vector& images, + const vector& imageViews) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const VkQueue queue = m_context.getUniversalQueue(); + const Unique shaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("comp"), 0)); + Move descriptorSet = makeDescriptorSet(vk, device, descriptorPool, descriptorSetLayout); + const Unique pipelineLayout (makePipelineLayout(vk, device, descriptorSetLayout)); + const Unique pipeline (makeComputePipeline(vk, device, *pipelineLayout, *shaderModule)); + const UVec3 extentUncompressed = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size); + + vector descriptorImageInfos (m_parameters.imagesCount); + for (deUint32 bindingNdx = 0; bindingNdx < m_parameters.imagesCount; ++bindingNdx) + descriptorImageInfos[bindingNdx] = makeDescriptorImageInfo(DE_NULL, **imageViews[bindingNdx], VK_IMAGE_LAYOUT_GENERAL); + + beginCommandBuffer(vk, cmdBuffer); + { + const VkImageSubresourceRange subresourceRange = + { + VK_IMAGE_ASPECT_COLOR_BIT, //VkImageAspectFlags aspectMask + 0u, //deUint32 baseMipLevel + 1u, //deUint32 levelCount + 0u, //deUint32 baseArrayLayer + 1u //deUint32 layerCount + }; + + const VkImageMemoryBarrier preShaderImageBarriers[] = + { + makeImageMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_WRITE_BIT | VK_ACCESS_SHADER_READ_BIT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, + **images[0]->get(), subresourceRange), + + makeImageMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, + **images[1]->get(), subresourceRange), + + makeImageMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_WRITE_BIT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, + **images[2]->get(), subresourceRange) + }; + + vk.cmdPipelineBarrier(cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, + (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0u, (const VkBufferMemoryBarrier*)DE_NULL, + DE_LENGTH_OF_ARRAY(preShaderImageBarriers), preShaderImageBarriers); + + vk.cmdBindPipeline(cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *pipeline); + descriptorSetUpdate (*descriptorSet, &descriptorImageInfos[0]); + + vk.cmdBindDescriptorSets(cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *pipelineLayout, 0u, 1u, &descriptorSet.get(), 0u, DE_NULL); + + vk.cmdDispatch(cmdBuffer, extentUncompressed.x(), extentUncompressed.y(), extentUncompressed.z()); + } + endCommandBuffer(vk, cmdBuffer); + submitCommandsAndWait(vk, device, queue, cmdBuffer); +} + +class GraphicsAttachmentsTestInstance : public BasicTranscodingTestInstance +{ +public: + GraphicsAttachmentsTestInstance (Context& context, const TestParameters& parameters); + virtual TestStatus iterate (void); + +protected: + virtual bool isWriteToCompressedOperation (); + VkImageCreateInfo makeCreateImageInfo (VkFormat format, ImageType type, const UVec3& size, VkImageUsageFlags usageFlags, const VkImageCreateFlags* createFlags); + VkImageViewUsageCreateInfoKHR makeImageViewUsageCreateInfo (VkImageUsageFlags imageUsageFlags); + VkDeviceSize getCompressedImageData (const VkFormat format, const UVec3& size, std::vector& data); + VkDeviceSize getUncompressedImageData (const VkFormat format, const UVec3& size, std::vector& data); + virtual void transcode (std::vector& srcData, std::vector& dstData, de::MovePtr& outputImage); + bool compareAndLog (const void* reference, const void* result, size_t size); + bool verifyDecompression (const std::vector& refCompressedData, const de::MovePtr& resCompressedImage); + + deUint32 m_arrayLayers; + UVec3 m_layerSize; +}; + +GraphicsAttachmentsTestInstance::GraphicsAttachmentsTestInstance (Context& context, const TestParameters& parameters) + : BasicTranscodingTestInstance(context, parameters) + , m_arrayLayers(getNumLayers(m_parameters.imageType, m_parameters.size)) + , m_layerSize(getLayerSize(m_parameters.imageType, m_parameters.size)) +{ +} + +TestStatus GraphicsAttachmentsTestInstance::iterate (void) +{ + std::vector srcData; + std::vector dstData; + de::MovePtr outputImage; + + transcode(srcData, dstData, outputImage); + + DE_ASSERT(srcData.size() > 0 && srcData.size() == dstData.size()); + + if (!compareAndLog(&srcData[0], &dstData[0], srcData.size())) + return TestStatus::fail("Output differs from input"); + + // Verify by sampling + if (isWriteToCompressedOperation()) + if (!verifyDecompression(srcData, outputImage)) + return TestStatus::fail("Decompressed images difference detected"); + + return TestStatus::pass("Pass"); +} + +void GraphicsAttachmentsTestInstance::transcode (std::vector& srcData, std::vector& dstData, de::MovePtr& outputImage) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex(); + const VkQueue queue = m_context.getUniversalQueue(); + Allocator& allocator = m_context.getDefaultAllocator(); + + const deUint32 levelCount = m_layerSize[2]; + const VkImageSubresourceRange subresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, levelCount, 0u, m_arrayLayers); + const VkImageCreateFlags* imgCreateFlagsOverride = DE_NULL; + const VkImageViewUsageCreateInfoKHR imageViewUsageKHR = makeImageViewUsageCreateInfo(m_parameters.compressedImageUsage); + const VkImageViewUsageCreateInfoKHR* imageViewUsageKHRNull = (VkImageViewUsageCreateInfoKHR*)DE_NULL; + + const UVec3 compressedImageRes = m_parameters.size; + const UVec3 uncompressedImageRes = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size); + + const VkFormat srcFormat = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? m_parameters.formatCompressed : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? m_parameters.formatUncompressed : + VK_FORMAT_UNDEFINED; + const UVec3 srcImageResolution = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? compressedImageRes : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? uncompressedImageRes : + UVec3(0, 0, 0); + const VkDeviceSize srcImageSizeInBytes = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? getCompressedImageData(srcFormat, srcImageResolution, srcData) : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? getUncompressedImageData(srcFormat, srcImageResolution, srcData) : + 0; + const VkImageUsageFlags srcImageUsageFlags = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? m_parameters.compressedImageUsage : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? m_parameters.uncompressedImageUsage : + 0; + const VkImageViewUsageCreateInfoKHR* srcImageViewUsageKHR = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? &imageViewUsageKHR : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? imageViewUsageKHRNull : + imageViewUsageKHRNull; + + const VkFormat dstFormat = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? m_parameters.formatUncompressed : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? m_parameters.formatCompressed : + VK_FORMAT_UNDEFINED; + const UVec3 dstImageResolution = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? uncompressedImageRes : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? compressedImageRes : + UVec3(0, 0, 0); + const VkDeviceSize dstImageSizeInBytes = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? getUncompressedImageSizeInBytes(dstFormat, dstImageResolution) : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? getCompressedImageSizeInBytes(dstFormat, dstImageResolution) : + 0; + const VkImageUsageFlags dstImageUsageFlags = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? m_parameters.uncompressedImageUsage : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? m_parameters.compressedImageUsage : + 0; + const VkImageViewUsageCreateInfoKHR* dstImageViewUsageKHR = (m_parameters.operation == OPERATION_ATTACHMENT_READ) ? imageViewUsageKHRNull : + (m_parameters.operation == OPERATION_ATTACHMENT_WRITE) ? &imageViewUsageKHR : + imageViewUsageKHRNull; + + const std::vector vertexArray = createFullscreenQuad(); + const deUint32 vertexCount = static_cast(vertexArray.size()); + const size_t vertexBufferSizeInBytes = vertexCount * sizeof(vertexArray[0]); + const MovePtr vertexBuffer = MovePtr(new Buffer(vk, device, allocator, makeBufferCreateInfo(vertexBufferSizeInBytes, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT), MemoryRequirement::HostVisible)); + const Allocation& vertexBufferAlloc = vertexBuffer->getAllocation(); + const VkDeviceSize vertexBufferOffset[] = { 0 }; + + const VkBufferCreateInfo srcImageBufferInfo (makeBufferCreateInfo(srcImageSizeInBytes, VK_BUFFER_USAGE_TRANSFER_SRC_BIT)); + const MovePtr srcImageBuffer = MovePtr(new Buffer(vk, device, allocator, srcImageBufferInfo, MemoryRequirement::HostVisible)); + + const VkImageCreateInfo srcImageCreateInfo = makeCreateImageInfo(srcFormat, m_parameters.imageType, srcImageResolution, srcImageUsageFlags, imgCreateFlagsOverride); + const MovePtr srcImage (new Image(vk, device, allocator, srcImageCreateInfo, MemoryRequirement::Any)); + Move srcImageView (makeImageView(vk, device, srcImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatUncompressed, subresourceRange, srcImageViewUsageKHR)); + + const VkImageCreateInfo dstImageCreateInfo = makeCreateImageInfo(dstFormat, m_parameters.imageType, dstImageResolution, dstImageUsageFlags, imgCreateFlagsOverride); + de::MovePtr dstImage (new Image(vk, device, allocator, dstImageCreateInfo, MemoryRequirement::Any)); + Move dstImageView (makeImageView(vk, device, dstImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatUncompressed, subresourceRange, dstImageViewUsageKHR)); + + const VkBufferCreateInfo dstImageBufferInfo (makeBufferCreateInfo(dstImageSizeInBytes, VK_BUFFER_USAGE_TRANSFER_DST_BIT)); + MovePtr dstImageBuffer = MovePtr(new Buffer(vk, device, allocator, dstImageBufferInfo, MemoryRequirement::HostVisible)); + + const Unique vertShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("vert"), 0)); + const Unique fragShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("frag"), 0)); + + const Unique renderPass (makeRenderPass(vk, device, m_parameters.formatUncompressed, m_parameters.formatUncompressed)); + + const Move descriptorSetLayout (DescriptorSetLayoutBuilder() + .addSingleBinding(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, VK_SHADER_STAGE_FRAGMENT_BIT) + .build(vk, device)); + const Move descriptorPool (DescriptorPoolBuilder() + .addType(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, m_arrayLayers) + .build(vk, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, m_arrayLayers)); + const Move descriptorSet (makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout)); + const VkDescriptorImageInfo descriptorSrcImageInfo (makeDescriptorImageInfo(DE_NULL, *srcImageView, VK_IMAGE_LAYOUT_GENERAL)); + + const VkExtent2D renderSize (makeExtent2D(uncompressedImageRes[0], uncompressedImageRes[1])); + const Unique pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout)); + const Unique pipeline (makeGraphicsPipeline(vk, device, *pipelineLayout, *renderPass, *vertShaderModule, *fragShaderModule, renderSize, 1u)); + const Unique cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, queueFamilyIndex)); + const Unique cmdBuffer (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY)); + + const VkBufferImageCopy srcCopyRegion = makeBufferImageCopy(srcImageResolution[0], srcImageResolution[1]); + const VkBufferMemoryBarrier srcCopyBufferBarrierPre = makeBufferMemoryBarrier(VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, srcImageBuffer->get(), 0ull, srcImageSizeInBytes); + const VkImageMemoryBarrier srcCopyImageBarrierPre = makeImageMemoryBarrier(0u, VK_ACCESS_TRANSFER_WRITE_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, srcImage->get(), subresourceRange); + const VkImageMemoryBarrier srcCopyImageBarrierPost = makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, srcImage->get(), subresourceRange); + const VkBufferImageCopy dstCopyRegion = makeBufferImageCopy(dstImageResolution[0], dstImageResolution[1]); + + const VkImageView attachmentBindInfos[] = { *srcImageView, *dstImageView }; + const Move framebuffer (makeFramebuffer(vk, device, *renderPass, DE_LENGTH_OF_ARRAY(attachmentBindInfos), attachmentBindInfos, renderSize, m_arrayLayers)); + + DE_ASSERT(srcImageSizeInBytes == dstImageSizeInBytes); + + // Upload vertex data + deMemcpy(vertexBufferAlloc.getHostPtr(), &vertexArray[0], vertexBufferSizeInBytes); + flushMappedMemoryRange(vk, device, vertexBufferAlloc.getMemory(), vertexBufferAlloc.getOffset(), vertexBufferSizeInBytes); + + // Upload source image data + const Allocation& alloc = srcImageBuffer->getAllocation(); + deMemcpy(alloc.getHostPtr(), &srcData[0], (size_t)srcImageSizeInBytes); + flushMappedMemoryRange(vk, device, alloc.getMemory(), alloc.getOffset(), srcImageSizeInBytes); + + beginCommandBuffer(vk, *cmdBuffer); + vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline); + + //Copy buffer to image + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1u, &srcCopyBufferBarrierPre, 1u, &srcCopyImageBarrierPre); + vk.cmdCopyBufferToImage(*cmdBuffer, srcImageBuffer->get(), srcImage->get(), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1u, &srcCopyRegion); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1u, &srcCopyImageBarrierPost); + + beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderSize); + + for (deUint32 layerNdx = 0; layerNdx < m_arrayLayers; ++layerNdx) + { + DescriptorSetUpdateBuilder() + .writeSingle(*descriptorSet, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, &descriptorSrcImageInfo) + .update(vk, device); + + vk.cmdBindDescriptorSets(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipelineLayout, 0u, 1u, &descriptorSet.get(), 0u, DE_NULL); + vk.cmdBindVertexBuffers(*cmdBuffer, 0, 1, &vertexBuffer->get(), vertexBufferOffset); + vk.cmdDraw(*cmdBuffer, vertexCount, 1, 0, 0); + } + + vk.cmdEndRenderPass(*cmdBuffer); + + const VkImageMemoryBarrier prepareForTransferBarrier = makeImageMemoryBarrier( + VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, + dstImage->get(), subresourceRange); + + const VkBufferMemoryBarrier copyBarrier = makeBufferMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, + dstImageBuffer->get(), 0ull, dstImageSizeInBytes); + + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &prepareForTransferBarrier); + vk.cmdCopyImageToBuffer(*cmdBuffer, dstImage->get(), VK_IMAGE_LAYOUT_GENERAL, dstImageBuffer->get(), 1u, &dstCopyRegion); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, ©Barrier, 0, (const VkImageMemoryBarrier*)DE_NULL); + + endCommandBuffer(vk, *cmdBuffer); + + submitCommandsAndWait(vk, device, queue, *cmdBuffer); + + const Allocation& dstImageBufferAlloc = dstImageBuffer->getAllocation(); + invalidateMappedMemoryRange(vk, device, dstImageBufferAlloc.getMemory(), dstImageBufferAlloc.getOffset(), dstImageSizeInBytes); + dstData.resize((size_t)dstImageSizeInBytes); + deMemcpy(&dstData[0], dstImageBufferAlloc.getHostPtr(), (size_t)dstImageSizeInBytes); + + outputImage = dstImage; +} + +bool GraphicsAttachmentsTestInstance::isWriteToCompressedOperation () +{ + return (m_parameters.operation == OPERATION_ATTACHMENT_WRITE); +} + +VkImageCreateInfo GraphicsAttachmentsTestInstance::makeCreateImageInfo (VkFormat format, ImageType type, const UVec3& size, VkImageUsageFlags usageFlags, const VkImageCreateFlags* createFlags) +{ + const VkImageType imageType = mapImageType(type); + const VkImageCreateFlags imageCreateFlagsBase = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; + const VkImageCreateFlags imageCreateFlagsAddOn = isCompressedFormat(format) ? VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR | VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR : 0; + const VkImageCreateFlags imageCreateFlags = (createFlags != DE_NULL) ? *createFlags : (imageCreateFlagsBase | imageCreateFlagsAddOn); + + const VkImageCreateInfo createImageInfo = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + imageCreateFlags, // VkImageCreateFlags flags; + imageType, // VkImageType imageType; + format, // VkFormat format; + makeExtent3D(getLayerSize(type, size)), // VkExtent3D extent; + 1u, // deUint32 mipLevels; + 1u, // deUint32 arrayLayers; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling; + usageFlags, // VkImageUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout; + }; + + return createImageInfo; +} + +VkImageViewUsageCreateInfoKHR GraphicsAttachmentsTestInstance::makeImageViewUsageCreateInfo (VkImageUsageFlags imageUsageFlags) +{ + VkImageViewUsageCreateInfoKHR imageViewUsageCreateInfoKHR = + { + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, //VkStructureType sType; + DE_NULL, //const void* pNext; + imageUsageFlags, //VkImageUsageFlags usage; + }; + + return imageViewUsageCreateInfoKHR; +} + +VkDeviceSize GraphicsAttachmentsTestInstance::getCompressedImageData (const VkFormat format, const UVec3& size, std::vector& data) +{ + VkDeviceSize sizeBytes = getCompressedImageSizeInBytes(format, size); + + data.resize((size_t)sizeBytes); + generateData(&data[0], data.size(), format); + + return sizeBytes; +} + +VkDeviceSize GraphicsAttachmentsTestInstance::getUncompressedImageData (const VkFormat format, const UVec3& size, std::vector& data) +{ + tcu::IVec3 sizeAsIVec3 = tcu::IVec3(static_cast(size[0]), static_cast(size[1]), static_cast(size[2])); + VkDeviceSize sizeBytes = getImageSizeBytes(sizeAsIVec3, format); + + data.resize((size_t)sizeBytes); + generateData(&data[0], data.size(), format); + + return sizeBytes; +} + +bool GraphicsAttachmentsTestInstance::compareAndLog (const void* reference, const void* result, size_t size) +{ + tcu::TestLog& log = m_context.getTestContext().getLog(); + + const deUint64* ref64 = reinterpret_cast(reference); + const deUint64* res64 = reinterpret_cast(result); + const size_t sizew = size / sizeof(deUint64); + bool equal = true; + + DE_ASSERT(size % sizeof(deUint64) == 0); + + for (deUint32 ndx = 0u; ndx < static_cast(sizew); ndx++) + { + if (ref64[ndx] != res64[ndx]) + { + std::stringstream str; + + str << "Difference begins near byte " << ndx * sizeof(deUint64) << "." + << " reference value: 0x" << std::hex << std::setw(2ull * sizeof(deUint64)) << std::setfill('0') << ref64[ndx] + << " result value: 0x" << std::hex << std::setw(2ull * sizeof(deUint64)) << std::setfill('0') << res64[ndx]; + + log.writeMessage(str.str().c_str()); + + equal = false; + + break; + } + } + + return equal; +} + +bool GraphicsAttachmentsTestInstance::verifyDecompression (const std::vector& refCompressedData, const de::MovePtr& resCompressedImage) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex(); + const VkQueue queue = m_context.getUniversalQueue(); + Allocator& allocator = m_context.getDefaultAllocator(); + + const deUint32 levelCount = m_layerSize[2]; + const VkImageSubresourceRange subresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, levelCount, 0u, m_arrayLayers); + + const VkDeviceSize dstBufferSize = getUncompressedImageSizeInBytes(m_parameters.formatForVerify, m_parameters.size); + const VkImageUsageFlags refSrcImageUsageFlags = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT; + + const std::vector vertexArray = createFullscreenQuad(); + const deUint32 vertexCount = static_cast(vertexArray.size()); + const size_t vertexBufferSizeInBytes = vertexCount * sizeof(vertexArray[0]); + const MovePtr vertexBuffer (new Buffer(vk, device, allocator, makeBufferCreateInfo(vertexBufferSizeInBytes, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT), MemoryRequirement::HostVisible)); + const Allocation& vertexBufferAlloc = vertexBuffer->getAllocation(); + const VkDeviceSize vertexBufferOffset[] = { 0 }; + + const VkBufferCreateInfo refSrcImageBufferInfo (makeBufferCreateInfo(refCompressedData.size(), VK_BUFFER_USAGE_TRANSFER_SRC_BIT)); + const MovePtr refSrcImageBuffer = MovePtr(new Buffer(vk, device, allocator, refSrcImageBufferInfo, MemoryRequirement::HostVisible)); + + const VkImageCreateFlags refSrcImageCreateFlags = 0; + const VkImageCreateInfo refSrcImageCreateInfo = makeCreateImageInfo(m_parameters.formatCompressed, m_parameters.imageType, m_parameters.size, refSrcImageUsageFlags, &refSrcImageCreateFlags); + const MovePtr refSrcImage (new Image(vk, device, allocator, refSrcImageCreateInfo, MemoryRequirement::Any)); + Move refSrcImageView (makeImageView(vk, device, refSrcImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatCompressed, subresourceRange)); + + const VkImageUsageFlags resSrcImageUsageFlags = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT; + const VkImageViewUsageCreateInfoKHR resSrcImageViewUsageKHR = makeImageViewUsageCreateInfo(resSrcImageUsageFlags); + Move resSrcImageView (makeImageView(vk, device, resCompressedImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatCompressed, subresourceRange, &resSrcImageViewUsageKHR)); + + const VkImageCreateFlags refDstImageCreateFlags = 0; + const VkImageUsageFlags refDstImageUsageFlags = VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + const VkImageCreateInfo refDstImageCreateInfo = makeCreateImageInfo(m_parameters.formatForVerify, m_parameters.imageType, m_parameters.size, refDstImageUsageFlags, &refDstImageCreateFlags); + const MovePtr refDstImage (new Image(vk, device, allocator, refDstImageCreateInfo, MemoryRequirement::Any)); + const Move refDstImageView (makeImageView(vk, device, refDstImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatForVerify, subresourceRange)); + const VkImageMemoryBarrier refDstCopyImageBarrier = makeImageMemoryBarrier(0u, VK_ACCESS_SHADER_READ_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, refDstImage->get(), subresourceRange); + const VkBufferCreateInfo refDstBufferInfo (makeBufferCreateInfo(dstBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT)); + const MovePtr refDstBuffer = MovePtr(new Buffer(vk, device, allocator, refDstBufferInfo, MemoryRequirement::HostVisible)); + + const VkImageCreateFlags resDstImageCreateFlags = 0; + const VkImageUsageFlags resDstImageUsageFlags = VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + const VkImageCreateInfo resDstImageCreateInfo = makeCreateImageInfo(m_parameters.formatForVerify, m_parameters.imageType, m_parameters.size, resDstImageUsageFlags, &resDstImageCreateFlags); + const MovePtr resDstImage (new Image(vk, device, allocator, resDstImageCreateInfo, MemoryRequirement::Any)); + const Move resDstImageView (makeImageView(vk, device, resDstImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatForVerify, subresourceRange)); + const VkImageMemoryBarrier resDstCopyImageBarrier = makeImageMemoryBarrier(0u, VK_ACCESS_SHADER_READ_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, resDstImage->get(), subresourceRange); + const VkBufferCreateInfo resDstBufferInfo (makeBufferCreateInfo(dstBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT)); + const MovePtr resDstBuffer = MovePtr(new Buffer(vk, device, allocator, resDstBufferInfo, MemoryRequirement::HostVisible)); + + const Unique vertShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("vert"), 0)); + const Unique fragShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("frag_verify"), 0)); + + const Unique renderPass (makeRenderPass(vk, device)); + + const Move descriptorSetLayout (DescriptorSetLayoutBuilder() + .addSingleBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_FRAGMENT_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_FRAGMENT_BIT) + .build(vk, device)); + const Move descriptorPool (DescriptorPoolBuilder() + .addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, m_arrayLayers) + .addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, m_arrayLayers) + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, m_arrayLayers) + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, m_arrayLayers) + .build(vk, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, m_arrayLayers)); + const Move descriptorSet (makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout)); + const VkSamplerCreateInfo refSrcSamplerInfo (makeSamplerCreateInfo()); + const Move refSrcSampler = vk::createSampler(vk, device, &refSrcSamplerInfo); + const VkSamplerCreateInfo resSrcSamplerInfo (makeSamplerCreateInfo()); + const Move resSrcSampler = vk::createSampler(vk, device, &resSrcSamplerInfo); + const VkDescriptorImageInfo descriptorRefSrcImage (makeDescriptorImageInfo(*refSrcSampler, *refSrcImageView, VK_IMAGE_LAYOUT_GENERAL)); + const VkDescriptorImageInfo descriptorResSrcImage (makeDescriptorImageInfo(*resSrcSampler, *resSrcImageView, VK_IMAGE_LAYOUT_GENERAL)); + const VkDescriptorImageInfo descriptorRefDstImage (makeDescriptorImageInfo(DE_NULL, *refDstImageView, VK_IMAGE_LAYOUT_GENERAL)); + const VkDescriptorImageInfo descriptorResDstImage (makeDescriptorImageInfo(DE_NULL, *resDstImageView, VK_IMAGE_LAYOUT_GENERAL)); + + const VkExtent2D renderSize (makeExtent2D(m_parameters.size.x(), m_parameters.size.y())); + const Unique pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout)); + const Unique pipeline (makeGraphicsPipeline(vk, device, *pipelineLayout, *renderPass, *vertShaderModule, *fragShaderModule, renderSize, 0u)); + const Unique cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, queueFamilyIndex)); + const Unique cmdBuffer (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY)); + + const VkBufferImageCopy copyRegion = makeBufferImageCopy(m_parameters.size.x(), m_parameters.size.y()); + const VkBufferMemoryBarrier refSrcCopyBufferBarrier = makeBufferMemoryBarrier(VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, refSrcImageBuffer->get(), 0ull, refCompressedData.size()); + const VkImageMemoryBarrier refSrcCopyImageBarrier = makeImageMemoryBarrier(0u, VK_ACCESS_TRANSFER_WRITE_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, refSrcImage->get(), subresourceRange); + const VkImageMemoryBarrier refSrcCopyImageBarrierPost = makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_GENERAL, refSrcImage->get(), subresourceRange); + + const Move framebuffer (makeFramebuffer(vk, device, *renderPass, 0, DE_NULL, renderSize, m_arrayLayers)); + + // Upload vertex data + deMemcpy(vertexBufferAlloc.getHostPtr(), &vertexArray[0], vertexBufferSizeInBytes); + flushMappedMemoryRange(vk, device, vertexBufferAlloc.getMemory(), vertexBufferAlloc.getOffset(), vertexBufferSizeInBytes); + + // Upload source image data + { + const Allocation& refSrcImageBufferAlloc = refSrcImageBuffer->getAllocation(); + deMemcpy(refSrcImageBufferAlloc.getHostPtr(), &refCompressedData[0], refCompressedData.size()); + flushMappedMemoryRange(vk, device, refSrcImageBufferAlloc.getMemory(), refSrcImageBufferAlloc.getOffset(), refCompressedData.size()); + } + + beginCommandBuffer(vk, *cmdBuffer); + vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline); + + //Copy buffer to image + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1u, &refSrcCopyBufferBarrier, 1u, &refSrcCopyImageBarrier); + vk.cmdCopyBufferToImage(*cmdBuffer, refSrcImageBuffer->get(), refSrcImage->get(), VK_IMAGE_LAYOUT_GENERAL, 1u, ©Region); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, DE_NULL, 1u, &refSrcCopyImageBarrierPost); + + // Make reference and result images readable + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0u, DE_NULL, 1u, &refDstCopyImageBarrier); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0u, DE_NULL, 1u, &resDstCopyImageBarrier); + + beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderSize); + for (deUint32 layerNdx = 0; layerNdx < m_arrayLayers; ++layerNdx) + { + DescriptorSetUpdateBuilder() + .writeSingle(*descriptorSet, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &descriptorRefSrcImage) + .writeSingle(*descriptorSet, DescriptorSetUpdateBuilder::Location::binding(1u), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &descriptorResSrcImage) + .writeSingle(*descriptorSet, DescriptorSetUpdateBuilder::Location::binding(2u), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &descriptorRefDstImage) + .writeSingle(*descriptorSet, DescriptorSetUpdateBuilder::Location::binding(3u), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &descriptorResDstImage) + .update(vk, device); + + vk.cmdBindDescriptorSets(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipelineLayout, 0u, 1u, &descriptorSet.get(), 0u, DE_NULL); + vk.cmdBindVertexBuffers(*cmdBuffer, 0, 1, &vertexBuffer->get(), vertexBufferOffset); + vk.cmdDraw(*cmdBuffer, vertexCount, 1, 0, 0); + } + vk.cmdEndRenderPass(*cmdBuffer); + + // Decompress reference image + { + const VkImageMemoryBarrier refDstImageBarrier = makeImageMemoryBarrier( + VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_GENERAL, + refDstImage->get(), subresourceRange); + + const VkBufferMemoryBarrier refDstBufferBarrier = makeBufferMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, + refDstBuffer->get(), 0ull, dstBufferSize); + + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &refDstImageBarrier); + vk.cmdCopyImageToBuffer(*cmdBuffer, refDstImage->get(), VK_IMAGE_LAYOUT_GENERAL, refDstBuffer->get(), 1u, ©Region); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &refDstBufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL); + } + + // Decompress result image + { + const VkImageMemoryBarrier resDstImageBarrier = makeImageMemoryBarrier( + VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_GENERAL, + resDstImage->get(), subresourceRange); + + const VkBufferMemoryBarrier resDstBufferBarrier = makeBufferMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, + resDstBuffer->get(), 0ull, dstBufferSize); + + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &resDstImageBarrier); + vk.cmdCopyImageToBuffer(*cmdBuffer, resDstImage->get(), VK_IMAGE_LAYOUT_GENERAL, resDstBuffer->get(), 1u, ©Region); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &resDstBufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL); + } + + endCommandBuffer(vk, *cmdBuffer); + + submitCommandsAndWait(vk, device, queue, *cmdBuffer); + + // Compare decompressed pixel data in reference and result images + { + const Allocation& refDstBufferAlloc = refDstBuffer->getAllocation(); + invalidateMappedMemoryRange(vk, device, refDstBufferAlloc.getMemory(), refDstBufferAlloc.getOffset(), dstBufferSize); + + const Allocation& resDstBufferAlloc = resDstBuffer->getAllocation(); + invalidateMappedMemoryRange(vk, device, resDstBufferAlloc.getMemory(), resDstBufferAlloc.getOffset(), dstBufferSize); + + return compareAndLog(refDstBufferAlloc.getHostPtr(), resDstBufferAlloc.getHostPtr(), (size_t)dstBufferSize); + } +} + + +class GraphicsTextureTestInstance : public GraphicsAttachmentsTestInstance +{ +public: + GraphicsTextureTestInstance (Context& context, const TestParameters& parameters); + +protected: + virtual bool isWriteToCompressedOperation (); + void transcode (std::vector& srcData, std::vector& dstData, de::MovePtr& outputImage); +}; + +GraphicsTextureTestInstance::GraphicsTextureTestInstance (Context& context, const TestParameters& parameters) + : GraphicsAttachmentsTestInstance(context, parameters) +{ +} + +bool GraphicsTextureTestInstance::isWriteToCompressedOperation () +{ + return (m_parameters.operation == OPERATION_TEXTURE_WRITE); +} + +void GraphicsTextureTestInstance::transcode (std::vector& srcData, std::vector& dstData, de::MovePtr& outputImage) +{ + const DeviceInterface& vk = m_context.getDeviceInterface(); + const VkDevice device = m_context.getDevice(); + const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex(); + const VkQueue queue = m_context.getUniversalQueue(); + Allocator& allocator = m_context.getDefaultAllocator(); + + const deUint32 levelCount = m_layerSize[2]; + const VkImageSubresourceRange subresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, levelCount, 0u, m_arrayLayers); + const UVec3 compressedImageRes = m_parameters.size; + const UVec3 uncompressedImageRes = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size); + const VkImageCreateFlags* imgCreateFlagsOverride = DE_NULL; + const VkImageViewUsageCreateInfoKHR imageViewUsageKHR = makeImageViewUsageCreateInfo(m_parameters.compressedImageUsage); + const VkImageViewUsageCreateInfoKHR* imageViewUsageKHRNull = (VkImageViewUsageCreateInfoKHR*)DE_NULL; + + const VkFormat srcFormat = (m_parameters.operation == OPERATION_TEXTURE_READ) ? m_parameters.formatCompressed : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? m_parameters.formatUncompressed : + VK_FORMAT_UNDEFINED; + const UVec3 srcImageResolution = (m_parameters.operation == OPERATION_TEXTURE_READ) ? compressedImageRes : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? uncompressedImageRes : + UVec3(0, 0, 0); + const VkDeviceSize srcImageSizeInBytes = (m_parameters.operation == OPERATION_TEXTURE_READ) ? getCompressedImageData(srcFormat, srcImageResolution, srcData) : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? getUncompressedImageData(srcFormat, srcImageResolution, srcData) : + 0; + const VkImageUsageFlags srcImageUsageFlags = (m_parameters.operation == OPERATION_TEXTURE_READ) ? m_parameters.compressedImageUsage : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? m_parameters.uncompressedImageUsage : + 0; + const VkImageViewUsageCreateInfoKHR* srcImageViewUsageKHR = (m_parameters.operation == OPERATION_TEXTURE_READ) ? &imageViewUsageKHR : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? imageViewUsageKHRNull : + imageViewUsageKHRNull; + + const VkFormat dstFormat = (m_parameters.operation == OPERATION_TEXTURE_READ) ? m_parameters.formatUncompressed : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? m_parameters.formatCompressed : + VK_FORMAT_UNDEFINED; + const UVec3 dstImageResolution = (m_parameters.operation == OPERATION_TEXTURE_READ) ? uncompressedImageRes : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? compressedImageRes : + UVec3(0, 0, 0); + const VkDeviceSize dstImageSizeInBytes = (m_parameters.operation == OPERATION_TEXTURE_READ) ? getUncompressedImageSizeInBytes(dstFormat, dstImageResolution) : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? getCompressedImageSizeInBytes(dstFormat, dstImageResolution) : + 0; + const VkImageUsageFlags dstImageUsageFlags = (m_parameters.operation == OPERATION_TEXTURE_READ) ? m_parameters.uncompressedImageUsage : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? m_parameters.compressedImageUsage : + 0; + const VkImageViewUsageCreateInfoKHR* dstImageViewUsageKHR = (m_parameters.operation == OPERATION_TEXTURE_READ) ? imageViewUsageKHRNull : + (m_parameters.operation == OPERATION_TEXTURE_WRITE) ? &imageViewUsageKHR : + imageViewUsageKHRNull; + + const std::vector vertexArray = createFullscreenQuad(); + const deUint32 vertexCount = static_cast(vertexArray.size()); + const size_t vertexBufferSizeInBytes = vertexCount * sizeof(vertexArray[0]); + const MovePtr vertexBuffer = MovePtr(new Buffer(vk, device, allocator, makeBufferCreateInfo(vertexBufferSizeInBytes, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT), MemoryRequirement::HostVisible)); + const Allocation& vertexBufferAlloc = vertexBuffer->getAllocation(); + const VkDeviceSize vertexBufferOffset[] = { 0 }; + + const VkBufferCreateInfo srcImageBufferInfo (makeBufferCreateInfo(srcImageSizeInBytes, VK_BUFFER_USAGE_TRANSFER_SRC_BIT)); + const MovePtr srcImageBuffer = MovePtr(new Buffer(vk, device, allocator, srcImageBufferInfo, MemoryRequirement::HostVisible)); + + const VkImageCreateInfo srcImageCreateInfo = makeCreateImageInfo(srcFormat, m_parameters.imageType, srcImageResolution, srcImageUsageFlags, imgCreateFlagsOverride); + const MovePtr srcImage (new Image(vk, device, allocator, srcImageCreateInfo, MemoryRequirement::Any)); + Move srcImageView (makeImageView(vk, device, srcImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatUncompressed, subresourceRange, srcImageViewUsageKHR)); + + const VkImageCreateInfo dstImageCreateInfo = makeCreateImageInfo(dstFormat, m_parameters.imageType, dstImageResolution, dstImageUsageFlags, imgCreateFlagsOverride); + de::MovePtr dstImage (new Image(vk, device, allocator, dstImageCreateInfo, MemoryRequirement::Any)); + Move dstImageView (makeImageView(vk, device, dstImage->get(), mapImageViewType(m_parameters.imageType), m_parameters.formatUncompressed, subresourceRange, dstImageViewUsageKHR)); + const VkImageMemoryBarrier dstCopyImageBarrier = makeImageMemoryBarrier(0u, VK_ACCESS_SHADER_READ_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, dstImage->get(), subresourceRange); + + const VkBufferCreateInfo dstImageBufferInfo (makeBufferCreateInfo(dstImageSizeInBytes, VK_BUFFER_USAGE_TRANSFER_DST_BIT)); + MovePtr dstImageBuffer = MovePtr(new Buffer(vk, device, allocator, dstImageBufferInfo, MemoryRequirement::HostVisible)); + + const Unique vertShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("vert"), 0)); + const Unique fragShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("frag"), 0)); + + const Unique renderPass (makeRenderPass(vk, device)); + + const Move descriptorSetLayout (DescriptorSetLayoutBuilder() + .addSingleBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_FRAGMENT_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_FRAGMENT_BIT) + .build(vk, device)); + const Move descriptorPool (DescriptorPoolBuilder() + .addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, m_arrayLayers) + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, m_arrayLayers) + .build(vk, device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, m_arrayLayers)); + const Move descriptorSet (makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout)); + const VkSamplerCreateInfo srcSamplerInfo (makeSamplerCreateInfo()); + const Move srcSampler = vk::createSampler(vk, device, &srcSamplerInfo); + const VkDescriptorImageInfo descriptorSrcImage (makeDescriptorImageInfo(*srcSampler, *srcImageView, VK_IMAGE_LAYOUT_GENERAL)); + const VkDescriptorImageInfo descriptorDstImage (makeDescriptorImageInfo(DE_NULL, *dstImageView, VK_IMAGE_LAYOUT_GENERAL)); + + const VkExtent2D renderSize (makeExtent2D(uncompressedImageRes[0], uncompressedImageRes[1])); + const Unique pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout)); + const Unique pipeline (makeGraphicsPipeline(vk, device, *pipelineLayout, *renderPass, *vertShaderModule, *fragShaderModule, renderSize, 0u)); + const Unique cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, queueFamilyIndex)); + const Unique cmdBuffer (allocateCommandBuffer(vk, device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY)); + + const VkBufferImageCopy srcCopyRegion = makeBufferImageCopy(srcImageResolution[0], srcImageResolution[1]); + const VkBufferMemoryBarrier srcCopyBufferBarrier = makeBufferMemoryBarrier(VK_ACCESS_HOST_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, srcImageBuffer->get(), 0ull, srcImageSizeInBytes); + const VkImageMemoryBarrier srcCopyImageBarrier = makeImageMemoryBarrier(0u, VK_ACCESS_TRANSFER_WRITE_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, srcImage->get(), subresourceRange); + const VkImageMemoryBarrier srcCopyImageBarrierPost = makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT, VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_GENERAL, srcImage->get(), subresourceRange); + + const VkBufferImageCopy dstCopyRegion = makeBufferImageCopy(dstImageResolution[0], dstImageResolution[1]); + + const VkExtent2D framebufferSize (makeExtent2D(dstImageResolution[0], dstImageResolution[1])); + const Move framebuffer (makeFramebuffer(vk, device, *renderPass, 0, DE_NULL, framebufferSize, m_arrayLayers)); + + DE_ASSERT(srcImageSizeInBytes == dstImageSizeInBytes); + + // Upload vertex data + deMemcpy(vertexBufferAlloc.getHostPtr(), &vertexArray[0], vertexBufferSizeInBytes); + flushMappedMemoryRange(vk, device, vertexBufferAlloc.getMemory(), vertexBufferAlloc.getOffset(), vertexBufferSizeInBytes); + + // Upload source image data + const Allocation& alloc = srcImageBuffer->getAllocation(); + deMemcpy(alloc.getHostPtr(), &srcData[0], (size_t)srcImageSizeInBytes); + flushMappedMemoryRange(vk, device, alloc.getMemory(), alloc.getOffset(), srcImageSizeInBytes); + + beginCommandBuffer(vk, *cmdBuffer); + vk.cmdBindPipeline(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipeline); + + //Copy buffer to image + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1u, &srcCopyBufferBarrier, 1u, &srcCopyImageBarrier); + vk.cmdCopyBufferToImage(*cmdBuffer, srcImageBuffer->get(), srcImage->get(), VK_IMAGE_LAYOUT_GENERAL, 1u, &srcCopyRegion); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1u, &srcCopyImageBarrierPost); + + // Make source image readable + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0u, DE_NULL, 1u, &dstCopyImageBarrier); + + beginRenderPass(vk, *cmdBuffer, *renderPass, *framebuffer, renderSize); + + for (deUint32 layerNdx = 0; layerNdx < m_arrayLayers; ++layerNdx) + { + DescriptorSetUpdateBuilder() + .writeSingle(*descriptorSet, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &descriptorSrcImage) + .writeSingle(*descriptorSet, DescriptorSetUpdateBuilder::Location::binding(1u), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &descriptorDstImage) + .update(vk, device); + + vk.cmdBindDescriptorSets(*cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, *pipelineLayout, 0u, 1u, &descriptorSet.get(), 0u, DE_NULL); + vk.cmdBindVertexBuffers(*cmdBuffer, 0, 1, &vertexBuffer->get(), vertexBufferOffset); + vk.cmdDraw(*cmdBuffer, vertexCount, 1, 0, 0); + } + + vk.cmdEndRenderPass(*cmdBuffer); + + const VkImageMemoryBarrier prepareForTransferBarrier = makeImageMemoryBarrier( + VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT, + VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_GENERAL, + dstImage->get(), subresourceRange); + + const VkBufferMemoryBarrier copyBarrier = makeBufferMemoryBarrier( + VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT, + dstImageBuffer->get(), 0ull, dstImageSizeInBytes); + + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &prepareForTransferBarrier); + vk.cmdCopyImageToBuffer(*cmdBuffer, dstImage->get(), VK_IMAGE_LAYOUT_GENERAL, dstImageBuffer->get(), 1u, &dstCopyRegion); + vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, ©Barrier, 0, (const VkImageMemoryBarrier*)DE_NULL); + + endCommandBuffer(vk, *cmdBuffer); + + submitCommandsAndWait(vk, device, queue, *cmdBuffer); + + const Allocation& dstImageBufferAlloc = dstImageBuffer->getAllocation(); + invalidateMappedMemoryRange(vk, device, dstImageBufferAlloc.getMemory(), dstImageBufferAlloc.getOffset(), dstImageSizeInBytes); + dstData.resize((size_t)dstImageSizeInBytes); + deMemcpy(&dstData[0], dstImageBufferAlloc.getHostPtr(), (size_t)dstImageSizeInBytes); + + outputImage = dstImage; +} + + +class TexelViewCompatibleCase : public TestCase +{ +public: + TexelViewCompatibleCase (TestContext& testCtx, + const std::string& name, + const std::string& desc, + const TestParameters& parameters); + void initPrograms (SourceCollections& programCollection) const; + TestInstance* createInstance (Context& context) const; +protected: + const TestParameters m_parameters; +}; + +TexelViewCompatibleCase::TexelViewCompatibleCase (TestContext& testCtx, const std::string& name, const std::string& desc, const TestParameters& parameters) + : TestCase (testCtx, name, desc) + , m_parameters (parameters) +{ +} + +void TexelViewCompatibleCase::initPrograms (vk::SourceCollections& programCollection) const +{ + switch (m_parameters.shader) + { + case SHADER_TYPE_COMPUTE: + { + const std::string imageTypeStr = getShaderImageType(mapVkFormat(m_parameters.formatUncompressed), m_parameters.imageType); + const std::string formatQualifierStr = getShaderImageFormatQualifier(mapVkFormat(m_parameters.formatUncompressed)); + std::ostringstream src; + std::ostringstream src_decompress; + + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n" + << "layout (local_size_x = 1, local_size_y = 1, local_size_z = 1) in;\n\n"; + src_decompress << src.str(); + + switch(m_parameters.operation) + { + case OPERATION_IMAGE_LOAD: + { + src << "layout (binding = 0, "< 0); + DE_ASSERT(m_parameters.size[1] > 0); + + // Vertex shader + { + std::ostringstream src; + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n\n" + << "layout(location = 0) in vec4 v_in_position;\n" + << "\n" + << "void main (void)\n" + << "{\n" + << " gl_Position = v_in_position;\n" + << "}\n"; + + programCollection.glslSources.add("vert") << glu::VertexSource(src.str()); + } + + // Fragment shader + { + switch(m_parameters.operation) + { + case OPERATION_ATTACHMENT_READ: + case OPERATION_ATTACHMENT_WRITE: + { + std::ostringstream src; + + const std::string dstTypeStr = getGlslFormatType(m_parameters.formatUncompressed); + const std::string srcTypeStr = getGlslInputFormatType(m_parameters.formatUncompressed); + + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n\n" + << "precision highp int;\n" + << "precision highp float;\n" + << "\n" + << "layout (location = 0) out highp " << dstTypeStr << " o_color;\n" + << "layout (input_attachment_index = 0, set = 0, binding = 0) uniform highp " << srcTypeStr << " inputImage1;\n" + << "\n" + << "void main (void)\n" + << "{\n" + << " o_color = " << dstTypeStr << "(subpassLoad(inputImage1));\n" + << "}\n"; + + programCollection.glslSources.add("frag") << glu::FragmentSource(src.str()); + + break; + } + + case OPERATION_TEXTURE_READ: + case OPERATION_TEXTURE_WRITE: + { + std::ostringstream src; + + const std::string srcSamplerTypeStr = getGlslSamplerType(mapVkFormat(m_parameters.formatUncompressed), mapImageViewType(m_parameters.imageType)); + const std::string dstImageTypeStr = getShaderImageType(mapVkFormat(m_parameters.formatUncompressed), m_parameters.imageType); + const std::string dstFormatQualifierStr = getShaderImageFormatQualifier(mapVkFormat(m_parameters.formatUncompressed)); + const UVec3 uncompressedImageRes = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size); + + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n\n" + << "layout (binding = 0) uniform " << srcSamplerTypeStr << " u_imageIn;\n" + << "layout (binding = 1, " << dstFormatQualifierStr << ") writeonly uniform " << dstImageTypeStr << " u_imageOut;\n" + << "\n" + << "void main (void)\n" + << "{\n" + << " const ivec2 out_pos = ivec2(gl_FragCoord.xy);\n" + << " const ivec2 pixels_resolution = ivec2(" << uncompressedImageRes[0] - 1 << ", " << uncompressedImageRes[1] - 1 << ");\n" + << " const vec2 in_pos = vec2(out_pos) / vec2(pixels_resolution);\n" + << " imageStore(u_imageOut, out_pos, texture(u_imageIn, in_pos));\n" + << "}\n"; + + programCollection.glslSources.add("frag") << glu::FragmentSource(src.str()); + + break; + } + + default: + DE_ASSERT(false); + } + } + + // Verification fragment shader + { + switch(m_parameters.operation) + { + case OPERATION_ATTACHMENT_WRITE: + case OPERATION_TEXTURE_WRITE: + { + std::ostringstream src; + + const std::string samplerType = getGlslSamplerType(mapVkFormat(m_parameters.formatForVerify), mapImageViewType(m_parameters.imageType)); + const std::string imageTypeStr = getShaderImageType(mapVkFormat(m_parameters.formatForVerify), m_parameters.imageType); + const std::string formatQualifierStr = getShaderImageFormatQualifier(mapVkFormat(m_parameters.formatForVerify)); + + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n\n" + << "layout (binding = 0) uniform " << samplerType << " u_imageIn0;\n" + << "layout (binding = 1) uniform " << samplerType << " u_imageIn1;\n" + << "layout (binding = 2, " << formatQualifierStr << ") writeonly uniform " << imageTypeStr << " u_imageOut0;\n" + << "layout (binding = 3, " << formatQualifierStr << ") writeonly uniform " << imageTypeStr << " u_imageOut1;\n" + << "\n" + << "void main (void)\n" + << "{\n" + << " const ivec2 out_pos = ivec2(gl_FragCoord.xy);\n" + << " const ivec2 pixels_resolution = ivec2(" << m_parameters.size[0] - 1 << ", " << m_parameters.size[1] - 1 << ");\n" + << " const vec2 in_pos = vec2(out_pos) / vec2(pixels_resolution);\n" + << " imageStore(u_imageOut0, out_pos, texture(u_imageIn0, in_pos));\n" + << " imageStore(u_imageOut1, out_pos, texture(u_imageIn1, in_pos));\n" + << "}\n"; + + programCollection.glslSources.add("frag_verify") << glu::FragmentSource(src.str()); + + break; + } + + case OPERATION_ATTACHMENT_READ: + case OPERATION_TEXTURE_READ: + // Read operations do not have sampling verification + break; + + default: + DE_ASSERT(false); + } + } + + break; + } + + default: + DE_ASSERT(false); + } +} + +TestInstance* TexelViewCompatibleCase::createInstance (Context& context) const +{ + const VkPhysicalDevice physicalDevice = context.getPhysicalDevice(); + const InstanceInterface& vk = context.getInstanceInterface(); + + DE_ASSERT(getNumLayers(m_parameters.imageType, m_parameters.size) == 1u); + DE_ASSERT(getLayerSize(m_parameters.imageType, m_parameters.size).z() == 1u); + DE_ASSERT(getLayerSize(m_parameters.imageType, m_parameters.size).x() > 0u); + DE_ASSERT(getLayerSize(m_parameters.imageType, m_parameters.size).y() > 0u); + + if (std::find(context.getDeviceExtensions().begin(), context.getDeviceExtensions().end(), "VK_KHR_maintenance2") == context.getDeviceExtensions().end()) + TCU_THROW(NotSupportedError, "Extension VK_KHR_maintenance2 not supported"); + + { + VkImageFormatProperties imageFormatProperties; + + if (VK_ERROR_FORMAT_NOT_SUPPORTED == vk.getPhysicalDeviceImageFormatProperties(physicalDevice, m_parameters.formatUncompressed, + mapImageType(m_parameters.imageType), VK_IMAGE_TILING_OPTIMAL, + m_parameters.uncompressedImageUsage, 0u, &imageFormatProperties)) + TCU_THROW(NotSupportedError, "Operation not supported with this image format"); + + if (VK_ERROR_FORMAT_NOT_SUPPORTED == vk.getPhysicalDeviceImageFormatProperties(physicalDevice, m_parameters.formatCompressed, + mapImageType(m_parameters.imageType), VK_IMAGE_TILING_OPTIMAL, + VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT, + VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR | VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR, + &imageFormatProperties)) + TCU_THROW(NotSupportedError, "Operation not supported with this image format"); + } + + { + const VkPhysicalDeviceFeatures physicalDeviceFeatures = getPhysicalDeviceFeatures (vk, physicalDevice); + + if (deInRange32(m_parameters.formatCompressed, VK_FORMAT_BC1_RGB_UNORM_BLOCK, VK_FORMAT_BC7_SRGB_BLOCK) && + !physicalDeviceFeatures.textureCompressionBC) + TCU_THROW(NotSupportedError, "textureCompressionBC not supported"); + + if (deInRange32(m_parameters.formatCompressed, VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, VK_FORMAT_EAC_R11G11_SNORM_BLOCK) && + !physicalDeviceFeatures.textureCompressionETC2) + TCU_THROW(NotSupportedError, "textureCompressionETC2 not supported"); + + if (deInRange32(m_parameters.formatCompressed, VK_FORMAT_ASTC_4x4_UNORM_BLOCK, VK_FORMAT_ASTC_12x12_SRGB_BLOCK) && + !physicalDeviceFeatures.textureCompressionASTC_LDR) + TCU_THROW(NotSupportedError, "textureCompressionASTC_LDR not supported"); + } + + switch (m_parameters.shader) + { + case SHADER_TYPE_COMPUTE: + { + switch (m_parameters.operation) + { + case OPERATION_IMAGE_LOAD: + case OPERATION_TEXEL_FETCH: + case OPERATION_TEXTURE: + return new BasicComputeTestInstance(context, m_parameters); + case OPERATION_IMAGE_STORE: + return new ImageStoreComputeTestInstance(context, m_parameters); + default: + TCU_THROW(InternalError, "Impossible"); + } + } + + case SHADER_TYPE_FRAGMENT: + { + switch (m_parameters.operation) + { + case OPERATION_ATTACHMENT_READ: + case OPERATION_ATTACHMENT_WRITE: + return new GraphicsAttachmentsTestInstance(context, m_parameters); + + case OPERATION_TEXTURE_READ: + case OPERATION_TEXTURE_WRITE: + return new GraphicsTextureTestInstance(context, m_parameters); + + default: + TCU_THROW(InternalError, "Impossible"); + } + } + + default: + TCU_THROW(InternalError, "Impossible"); + } +} + +} // anonymous ns + + +tcu::TestCaseGroup* createImageCompressionTranscodingTests (tcu::TestContext& testCtx) +{ + MovePtr texelViewCompatibleTests (new tcu::TestCaseGroup(testCtx, "texel_view_compatible", "Texel view compatible cases")); + + struct FormatsArray + { + const VkFormat* formats; + deUint32 count; + }; + + const std::string pipelineName[SHADER_TYPE_LAST] = + { + "compute", + "graphic", + }; + + const std::string operationName[OPERATION_LAST] = + { + "image_load", + "texel_fetch", + "texture", + "image_store", + "attachment_read", + "attachment_write", + "texture_read", + "texture_write", + }; + + const VkImageUsageFlags baseImageUsageFlagSet = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT; + const VkImageUsageFlags compressedImageUsageFlags[OPERATION_LAST] = + { + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_STORAGE_BIT), // "image_load" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "texel_fetch" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "texture" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "image_store" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), // "attachment_read" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), // "attachment_write" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT), // "texture_read" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "texture_write" + }; + + const VkImageUsageFlags uncompressedImageUsageFlags[OPERATION_LAST] = + { + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_STORAGE_BIT), //"image_load" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), //"texel_fetch" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), //"texture" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), //"image_store" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), //"attachment_read" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT), //"attachment_write" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), //"texture_read" + baseImageUsageFlagSet | static_cast(VK_IMAGE_USAGE_SAMPLED_BIT), //"texture_write" + }; + + const VkFormat compressedFormats64bit[] = + { + VK_FORMAT_BC1_RGB_UNORM_BLOCK, + VK_FORMAT_BC1_RGB_SRGB_BLOCK, + VK_FORMAT_BC1_RGBA_UNORM_BLOCK, + VK_FORMAT_BC1_RGBA_SRGB_BLOCK, + VK_FORMAT_BC4_UNORM_BLOCK, + VK_FORMAT_BC4_SNORM_BLOCK, + VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, + VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, + VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, + VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, + VK_FORMAT_EAC_R11_UNORM_BLOCK, + VK_FORMAT_EAC_R11_SNORM_BLOCK, + }; + + const VkFormat compressedFormats128bit[] = + { + VK_FORMAT_BC2_UNORM_BLOCK, + VK_FORMAT_BC2_SRGB_BLOCK, + VK_FORMAT_BC3_UNORM_BLOCK, + VK_FORMAT_BC3_SRGB_BLOCK, + VK_FORMAT_BC5_UNORM_BLOCK, + VK_FORMAT_BC5_SNORM_BLOCK, + VK_FORMAT_BC6H_UFLOAT_BLOCK, + VK_FORMAT_BC6H_SFLOAT_BLOCK, + VK_FORMAT_BC7_UNORM_BLOCK, + VK_FORMAT_BC7_SRGB_BLOCK, + VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, + VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, + VK_FORMAT_EAC_R11G11_UNORM_BLOCK, + VK_FORMAT_EAC_R11G11_SNORM_BLOCK, + VK_FORMAT_ASTC_4x4_UNORM_BLOCK, + VK_FORMAT_ASTC_4x4_SRGB_BLOCK, + VK_FORMAT_ASTC_5x4_UNORM_BLOCK, + VK_FORMAT_ASTC_5x4_SRGB_BLOCK, + VK_FORMAT_ASTC_5x5_UNORM_BLOCK, + VK_FORMAT_ASTC_5x5_SRGB_BLOCK, + VK_FORMAT_ASTC_6x5_UNORM_BLOCK, + VK_FORMAT_ASTC_6x5_SRGB_BLOCK, + VK_FORMAT_ASTC_6x6_UNORM_BLOCK, + VK_FORMAT_ASTC_6x6_SRGB_BLOCK, + VK_FORMAT_ASTC_8x5_UNORM_BLOCK, + VK_FORMAT_ASTC_8x5_SRGB_BLOCK, + VK_FORMAT_ASTC_8x6_UNORM_BLOCK, + VK_FORMAT_ASTC_8x6_SRGB_BLOCK, + VK_FORMAT_ASTC_8x8_UNORM_BLOCK, + VK_FORMAT_ASTC_8x8_SRGB_BLOCK, + VK_FORMAT_ASTC_10x5_UNORM_BLOCK, + VK_FORMAT_ASTC_10x5_SRGB_BLOCK, + VK_FORMAT_ASTC_10x6_UNORM_BLOCK, + VK_FORMAT_ASTC_10x6_SRGB_BLOCK, + VK_FORMAT_ASTC_10x8_UNORM_BLOCK, + VK_FORMAT_ASTC_10x8_SRGB_BLOCK, + VK_FORMAT_ASTC_10x10_UNORM_BLOCK, + VK_FORMAT_ASTC_10x10_SRGB_BLOCK, + VK_FORMAT_ASTC_12x10_UNORM_BLOCK, + VK_FORMAT_ASTC_12x10_SRGB_BLOCK, + VK_FORMAT_ASTC_12x12_UNORM_BLOCK, + VK_FORMAT_ASTC_12x12_SRGB_BLOCK, + }; + + const VkFormat uncompressedFormats64bit[] = + { + VK_FORMAT_R16G16B16A16_UNORM, + VK_FORMAT_R16G16B16A16_SNORM, + VK_FORMAT_R16G16B16A16_USCALED, + VK_FORMAT_R16G16B16A16_SSCALED, + VK_FORMAT_R16G16B16A16_UINT, + VK_FORMAT_R16G16B16A16_SINT, + VK_FORMAT_R16G16B16A16_SFLOAT, + VK_FORMAT_R32G32_UINT, + VK_FORMAT_R32G32_SINT, + VK_FORMAT_R32G32_SFLOAT, + //VK_FORMAT_R64_UINT, remove from the test it couln'd not be use + //VK_FORMAT_R64_SINT, remove from the test it couln'd not be use + //VK_FORMAT_R64_SFLOAT, remove from the test it couln'd not be use + }; + + const VkFormat uncompressedFormats128bit[] = + { + VK_FORMAT_R32G32B32A32_UINT, + VK_FORMAT_R32G32B32A32_SINT, + VK_FORMAT_R32G32B32A32_SFLOAT, + //VK_FORMAT_R64G64_UINT, remove from the test it couln'd not be use + //VK_FORMAT_R64G64_SINT, remove from the test it couln'd not be use + //VK_FORMAT_R64G64_SFLOAT, remove from the test it couln'd not be use + }; + + const FormatsArray formatsCompressed[] = + { + { + compressedFormats64bit, + DE_LENGTH_OF_ARRAY(compressedFormats64bit) + }, + { + compressedFormats128bit, + DE_LENGTH_OF_ARRAY(compressedFormats128bit) + }, + }; + + const FormatsArray formatsUncompressed[] = + { + { + uncompressedFormats64bit, + DE_LENGTH_OF_ARRAY(uncompressedFormats64bit) + }, + { + uncompressedFormats128bit, + DE_LENGTH_OF_ARRAY(uncompressedFormats128bit) + }, + }; + + const bool mipmapTest = false; // TODO + const deUint32 unniceMipmapTextureSize[] = { 1, 1, 1, 2, 6, 8, 21, 51, 92, 209, 295, 512, 1134 }; + + DE_ASSERT(DE_LENGTH_OF_ARRAY(formatsCompressed) == DE_LENGTH_OF_ARRAY(formatsUncompressed)); + + for (int shaderType = SHADER_TYPE_COMPUTE; shaderType < SHADER_TYPE_LAST; ++shaderType) + { + MovePtr pipelineTypeGroup (new tcu::TestCaseGroup(testCtx, pipelineName[shaderType].c_str(), "")); + + for (int operationNdx = OPERATION_IMAGE_LOAD; operationNdx < OPERATION_LAST; ++operationNdx) + { + if (shaderType != SHADER_TYPE_FRAGMENT && deInRange32(operationNdx, OPERATION_ATTACHMENT_READ, OPERATION_TEXTURE_WRITE)) + continue; + + if (shaderType != SHADER_TYPE_COMPUTE && deInRange32(operationNdx, OPERATION_IMAGE_LOAD, OPERATION_IMAGE_STORE)) + continue; + + MovePtr imageOperationGroup (new tcu::TestCaseGroup(testCtx, operationName[operationNdx].c_str(), "")); + + // Iterate through bitness groups (64 bit, 128 bit, etc) + for (deUint32 formatBitnessGroup = 0; formatBitnessGroup < DE_LENGTH_OF_ARRAY(formatsCompressed); ++formatBitnessGroup) + { + for (deUint32 formatCompressedNdx = 0; formatCompressedNdx < formatsCompressed[formatBitnessGroup].count; ++formatCompressedNdx) + { + const VkFormat formatCompressed = formatsCompressed[formatBitnessGroup].formats[formatCompressedNdx]; + const std::string compressedFormatGroupName = getFormatShortString(formatCompressed); + MovePtr compressedFormatGroup (new tcu::TestCaseGroup(testCtx, compressedFormatGroupName.c_str(), "")); + + for (deUint32 formatUncompressedNdx = 0; formatUncompressedNdx < formatsUncompressed[formatBitnessGroup].count; ++formatUncompressedNdx) + { + const VkFormat formatUncompressed = formatsUncompressed[formatBitnessGroup].formats[formatUncompressedNdx]; + const std::string uncompressedFormatGroupName = getFormatShortString(formatUncompressed); + const deUint32 testTextureWidth = mipmapTest + ? unniceMipmapTextureSize[getBlockWidth(formatCompressed)] + : 64u; + const deUint32 testTextureHeight = mipmapTest + ? unniceMipmapTextureSize[getBlockWidth(formatCompressed)] + : 64u; + const TestParameters parameters = + { + static_cast(operationNdx), + static_cast(shaderType), + UVec3(testTextureWidth, testTextureHeight, 1u), + IMAGE_TYPE_2D, + formatCompressed, + formatUncompressed, + (operationNdx == OPERATION_IMAGE_STORE) ? 3u : 2u, + compressedImageUsageFlags[operationNdx], + uncompressedImageUsageFlags[operationNdx], + false, + VK_FORMAT_R8G8B8A8_UNORM + }; + + compressedFormatGroup->addChild(new TexelViewCompatibleCase(testCtx, uncompressedFormatGroupName, "", parameters)); + } + + imageOperationGroup->addChild(compressedFormatGroup.release()); + } + } + + pipelineTypeGroup->addChild(imageOperationGroup.release()); + } + + texelViewCompatibleTests->addChild(pipelineTypeGroup.release()); + } + + return texelViewCompatibleTests.release(); +} + +} // image +} // vkt diff --git a/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.hpp b/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.hpp new file mode 100644 index 0000000..ef1ff03 --- /dev/null +++ b/external/vulkancts/modules/vulkan/image/vktImageCompressionTranscodingSupport.hpp @@ -0,0 +1,39 @@ +#ifndef _VKTIMAGECOMPRESSIONTRANSCODINGSUPPORT_HPP +#define _VKTIMAGECOMPRESSIONTRANSCODINGSUPPORT_HPP +/*------------------------------------------------------------------------ + * Vulkan Conformance Tests + * ------------------------ + * + * Copyright (c) 2017 The Khronos Group Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * \file vktImageCompressionTranscodingSupport.hpp + * \brief Compression transcoding support + *//*--------------------------------------------------------------------*/ + +#include "tcuDefs.hpp" +#include "tcuTestCase.hpp" + +namespace vkt +{ +namespace image +{ + +tcu::TestCaseGroup* createImageCompressionTranscodingTests (tcu::TestContext& testCtx); + +} // image +} // vkt + +#endif // _VKTIMAGECOMPRESSIONTRANSCODINGSUPPORT_HPP diff --git a/external/vulkancts/modules/vulkan/image/vktImageTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageTests.cpp index d83f6d1..b89a267 100644 --- a/external/vulkancts/modules/vulkan/image/vktImageTests.cpp +++ b/external/vulkancts/modules/vulkan/image/vktImageTests.cpp @@ -28,6 +28,7 @@ #include "vktImageSizeTests.hpp" #include "vktTestGroupUtil.hpp" #include "vktImageAtomicOperationTests.hpp" +#include "vktImageCompressionTranscodingSupport.hpp" namespace vkt { @@ -48,6 +49,7 @@ void createChildren (tcu::TestCaseGroup* imageTests) imageTests->addChild(createImageQualifiersTests(testCtx)); imageTests->addChild(createImageSizeTests(testCtx)); imageTests->addChild(createImageAtomicOperationTests(testCtx)); + imageTests->addChild(createImageCompressionTranscodingTests(testCtx)); } } // anonymous diff --git a/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.cpp b/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.cpp index 1d70427..050de92 100644 --- a/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.cpp +++ b/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.cpp @@ -55,6 +55,102 @@ Image::Image (const DeviceInterface& vk, VK_CHECK(vk.bindImageMemory(device, *m_image, m_allocation->getMemory(), m_allocation->getOffset())); } +struct CompressedFormatParameters +{ + VkFormat format; + deUint32 blockBytes; + deUint32 blockWidth; + deUint32 blockHeight; +}; + +CompressedFormatParameters compressedFormatParameters[VK_FORMAT_ASTC_12x12_SRGB_BLOCK - VK_FORMAT_BC1_RGB_UNORM_BLOCK + 1] = +{ + { VK_FORMAT_BC1_RGB_UNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_BC1_RGB_SRGB_BLOCK, 8, 4, 4 }, + { VK_FORMAT_BC1_RGBA_UNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_BC1_RGBA_SRGB_BLOCK, 8, 4, 4 }, + { VK_FORMAT_BC2_UNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC2_SRGB_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC3_UNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC3_SRGB_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC4_UNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_BC4_SNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_BC5_UNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC5_SNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC6H_UFLOAT_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC6H_SFLOAT_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC7_UNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_BC7_SRGB_BLOCK, 16, 4, 4 }, + { VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK, 8, 4, 4 }, + { VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK, 8, 4, 4 }, + { VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK, 16, 4, 4 }, + { VK_FORMAT_EAC_R11_UNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_EAC_R11_SNORM_BLOCK, 8, 4, 4 }, + { VK_FORMAT_EAC_R11G11_UNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_EAC_R11G11_SNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_ASTC_4x4_UNORM_BLOCK, 16, 4, 4 }, + { VK_FORMAT_ASTC_4x4_SRGB_BLOCK, 16, 4, 4 }, + { VK_FORMAT_ASTC_5x4_UNORM_BLOCK, 16, 5, 4 }, + { VK_FORMAT_ASTC_5x4_SRGB_BLOCK, 16, 5, 4 }, + { VK_FORMAT_ASTC_5x5_UNORM_BLOCK, 16, 5, 5 }, + { VK_FORMAT_ASTC_5x5_SRGB_BLOCK, 16, 5, 5 }, + { VK_FORMAT_ASTC_6x5_UNORM_BLOCK, 16, 6, 5 }, + { VK_FORMAT_ASTC_6x5_SRGB_BLOCK, 16, 6, 5 }, + { VK_FORMAT_ASTC_6x6_UNORM_BLOCK, 16, 6, 6 }, + { VK_FORMAT_ASTC_6x6_SRGB_BLOCK, 16, 6, 6 }, + { VK_FORMAT_ASTC_8x5_UNORM_BLOCK, 16, 8, 5 }, + { VK_FORMAT_ASTC_8x5_SRGB_BLOCK, 16, 8, 5 }, + { VK_FORMAT_ASTC_8x6_UNORM_BLOCK, 16, 8, 6 }, + { VK_FORMAT_ASTC_8x6_SRGB_BLOCK, 16, 8, 6 }, + { VK_FORMAT_ASTC_8x8_UNORM_BLOCK, 16, 8, 8 }, + { VK_FORMAT_ASTC_8x8_SRGB_BLOCK, 16, 8, 8 }, + { VK_FORMAT_ASTC_10x5_UNORM_BLOCK, 16, 10, 5 }, + { VK_FORMAT_ASTC_10x5_SRGB_BLOCK, 16, 10, 5 }, + { VK_FORMAT_ASTC_10x6_UNORM_BLOCK, 16, 10, 6 }, + { VK_FORMAT_ASTC_10x6_SRGB_BLOCK, 16, 10, 6 }, + { VK_FORMAT_ASTC_10x8_UNORM_BLOCK, 16, 10, 8 }, + { VK_FORMAT_ASTC_10x8_SRGB_BLOCK, 16, 10, 8 }, + { VK_FORMAT_ASTC_10x10_UNORM_BLOCK, 16, 10, 10 }, + { VK_FORMAT_ASTC_10x10_SRGB_BLOCK, 16, 10, 10 }, + { VK_FORMAT_ASTC_12x10_UNORM_BLOCK, 16, 12, 10 }, + { VK_FORMAT_ASTC_12x10_SRGB_BLOCK, 16, 12, 10 }, + { VK_FORMAT_ASTC_12x12_UNORM_BLOCK, 16, 12, 12 }, + { VK_FORMAT_ASTC_12x12_SRGB_BLOCK, 16, 12, 12 }, +}; + +deUint32 getBlockSizeInBytes(const VkFormat compressedFormat) +{ + deUint32 formatNdx = static_cast(compressedFormat - VK_FORMAT_BC1_RGB_UNORM_BLOCK); + + DE_ASSERT(deInRange32(formatNdx, 0, DE_LENGTH_OF_ARRAY(compressedFormatParameters))); + DE_ASSERT(compressedFormatParameters[formatNdx].format == compressedFormat); + + return compressedFormatParameters[formatNdx].blockBytes; +} + +deUint32 getBlockWidth(const VkFormat compressedFormat) +{ + deUint32 formatNdx = static_cast(compressedFormat - VK_FORMAT_BC1_RGB_UNORM_BLOCK); + + DE_ASSERT(deInRange32(formatNdx, 0, DE_LENGTH_OF_ARRAY(compressedFormatParameters))); + DE_ASSERT(compressedFormatParameters[formatNdx].format == compressedFormat); + + return compressedFormatParameters[formatNdx].blockWidth; +} + +deUint32 getBlockHeight(const VkFormat compressedFormat) +{ + deUint32 formatNdx = static_cast(compressedFormat - VK_FORMAT_BC1_RGB_UNORM_BLOCK); + + DE_ASSERT(deInRange32(formatNdx, 0, DE_LENGTH_OF_ARRAY(compressedFormatParameters))); + DE_ASSERT(compressedFormatParameters[formatNdx].format == compressedFormat); + + return compressedFormatParameters[formatNdx].blockHeight; +} + tcu::UVec3 getShaderGridSize (const ImageType imageType, const tcu::UVec3& imageSize) { switch (imageType) @@ -190,6 +286,22 @@ deUint32 getLayerDimensions (const ImageType imageType) } } +std::vector getMipLevelSizes (tcu::UVec3 baseSize) +{ + std::vector levels; + levels.push_back(baseSize); + + while (baseSize.x() != 1 || baseSize.y() != 1 || baseSize.z() != 1) + { + baseSize.x() = deMax32(baseSize.x() >> 1, 1); + baseSize.y() = deMax32(baseSize.y() >> 1, 1); + baseSize.z() = deMax32(baseSize.z() >> 1, 1); + levels.push_back(baseSize); + } + + return levels; +} + VkBufferCreateInfo makeBufferCreateInfo (const VkDeviceSize bufferSize, const VkBufferUsageFlags usage) { @@ -267,6 +379,301 @@ Move makeComputePipeline (const DeviceInterface& vk, return createComputePipeline(vk, device, DE_NULL , &pipelineCreateInfo); } +Move makeGraphicsPipeline (const DeviceInterface& vk, + const VkDevice device, + const VkPipelineLayout pipelineLayout, + const VkRenderPass renderPass, + const VkShaderModule vertexModule, + const VkShaderModule fragmentModule, + const VkExtent2D renderSize, + const deUint32 colorAttachmentCount) +{ + const VkFormat vertexFormatPosition = VK_FORMAT_R32G32B32A32_SFLOAT; + const deUint32 vertexSizePosition = tcu::getPixelSize(mapVkFormat(vertexFormatPosition)); + const deUint32 vertexBufferOffsetPosition = 0u; + const deUint32 vertexDataStride = vertexSizePosition; + + const VkVertexInputBindingDescription vertexBinding = + { + 0u, // deUint32 binding; + vertexDataStride, // deUint32 stride; + VK_VERTEX_INPUT_RATE_VERTEX // VkVertexInputRate inputRate; + }; + + const VkVertexInputAttributeDescription vertexInputAttributeDescriptions[] = + { + // position + { + 0u, // deUint32 location; + 0u, // deUint32 binding; + vertexFormatPosition, // VkFormat format; + vertexBufferOffsetPosition, // deUint32 offset; + }, + }; + + const VkPipelineVertexInputStateCreateInfo vertexInputStateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineVertexInputStateCreateFlags)0, // VkPipelineVertexInputStateCreateFlags flags; + 1u, // uint32_t vertexBindingDescriptionCount; + &vertexBinding, // const VkVertexInputBindingDescription* pVertexBindingDescriptions; + DE_LENGTH_OF_ARRAY(vertexInputAttributeDescriptions), // uint32_t vertexAttributeDescriptionCount; + vertexInputAttributeDescriptions, // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; + }; + + const VkPipelineInputAssemblyStateCreateInfo pipelineInputAssemblyStateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineInputAssemblyStateCreateFlags)0, // VkPipelineInputAssemblyStateCreateFlags flags; + VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, // VkPrimitiveTopology topology; + VK_FALSE, // VkBool32 primitiveRestartEnable; + }; + + const VkViewport viewport = + { + 0.0f, // float originX; + 0.0f, // float originY; + (float)renderSize.width, // float width; + (float)renderSize.height, // float height; + 0.0f, // float minDepth; + 1.0f // float maxDepth; + }; + + const VkRect2D scissor = + { + { 0u, 0u }, // VkOffset2D offset; + renderSize // VkExtent2D extent; + }; + + const VkPipelineViewportStateCreateInfo pipelineViewportStateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineViewportStateCreateFlags)0, // VkPipelineViewportStateCreateFlags flags; + 1u, // uint32_t viewportCount; + &viewport, // dynamic state // const VkViewport* pViewports; + 1u, // uint32_t scissorCount; + &scissor, // dynamic state // const VkRect2D* pScissors; + }; + + const VkPipelineRasterizationStateCreateInfo pipelineRasterizationStateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineRasterizationStateCreateFlags)0, // VkPipelineRasterizationStateCreateFlags flags; + VK_FALSE, // VkBool32 depthClampEnable; + VK_FALSE, // VkBool32 rasterizerDiscardEnable; + VK_POLYGON_MODE_FILL, // VkPolygonMode polygonMode; + VK_CULL_MODE_NONE, // VkCullModeFlags cullMode; + VK_FRONT_FACE_COUNTER_CLOCKWISE, // VkFrontFace frontFace; + VK_FALSE, // VkBool32 depthBiasEnable; + 0.0f, // float depthBiasConstantFactor; + 0.0f, // float depthBiasClamp; + 0.0f, // float depthBiasSlopeFactor; + 1.0f, // float lineWidth; + }; + + const VkPipelineMultisampleStateCreateInfo pipelineMultisampleStateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineMultisampleStateCreateFlags)0, // VkPipelineMultisampleStateCreateFlags flags; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits rasterizationSamples; + VK_FALSE, // VkBool32 sampleShadingEnable; + 0.0f, // float minSampleShading; + DE_NULL, // const VkSampleMask* pSampleMask; + VK_FALSE, // VkBool32 alphaToCoverageEnable; + VK_FALSE // VkBool32 alphaToOneEnable; + }; + + const VkColorComponentFlags colorComponentsAll = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; + const VkPipelineColorBlendAttachmentState colorBlendAttachmentState = + { + VK_FALSE, // VkBool32 blendEnable; + VK_BLEND_FACTOR_ONE, // VkBlendFactor srcColorBlendFactor; + VK_BLEND_FACTOR_ZERO, // VkBlendFactor dstColorBlendFactor; + VK_BLEND_OP_ADD, // VkBlendOp colorBlendOp; + VK_BLEND_FACTOR_ONE, // VkBlendFactor srcAlphaBlendFactor; + VK_BLEND_FACTOR_ZERO, // VkBlendFactor dstAlphaBlendFactor; + VK_BLEND_OP_ADD, // VkBlendOp alphaBlendOp; + colorComponentsAll, // VkColorComponentFlags colorWriteMask; + }; + std::vector colorAttachments(colorAttachmentCount, colorBlendAttachmentState); + + const VkPipelineColorBlendStateCreateInfo pipelineColorBlendStateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineColorBlendStateCreateFlags)0, // VkPipelineColorBlendStateCreateFlags flags; + VK_FALSE, // VkBool32 logicOpEnable; + VK_LOGIC_OP_COPY, // VkLogicOp logicOp; + (deUint32)colorAttachments.size(), // deUint32 attachmentCount; + colorAttachments.size() != 0 ? &colorAttachments[0] : DE_NULL, // const VkPipelineColorBlendAttachmentState* pAttachments; + { 0.0f, 0.0f, 0.0f, 0.0f }, // float blendConstants[4]; + }; + + const VkPipelineShaderStageCreateInfo pShaderStages[] = + { + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineShaderStageCreateFlags)0, // VkPipelineShaderStageCreateFlags flags; + VK_SHADER_STAGE_VERTEX_BIT, // VkShaderStageFlagBits stage; + vertexModule, // VkShaderModule module; + "main", // const char* pName; + DE_NULL, // const VkSpecializationInfo* pSpecializationInfo; + }, + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineShaderStageCreateFlags)0, // VkPipelineShaderStageCreateFlags flags; + VK_SHADER_STAGE_FRAGMENT_BIT, // VkShaderStageFlagBits stage; + fragmentModule, // VkShaderModule module; + "main", // const char* pName; + DE_NULL, // const VkSpecializationInfo* pSpecializationInfo; + } + }; + + const deUint32 numActiveShaderStages = DE_LENGTH_OF_ARRAY(pShaderStages); + + const VkGraphicsPipelineCreateInfo graphicsPipelineInfo = + { + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineCreateFlags)0, // VkPipelineCreateFlags flags; + numActiveShaderStages, // deUint32 stageCount; + pShaderStages, // const VkPipelineShaderStageCreateInfo* pStages; + &vertexInputStateInfo, // const VkPipelineVertexInputStateCreateInfo* pVertexInputState; + &pipelineInputAssemblyStateInfo, // const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; + DE_NULL, // const VkPipelineTessellationStateCreateInfo* pTessellationState; + &pipelineViewportStateInfo, // const VkPipelineViewportStateCreateInfo* pViewportState; + &pipelineRasterizationStateInfo, // const VkPipelineRasterizationStateCreateInfo* pRasterizationState; + &pipelineMultisampleStateInfo, // const VkPipelineMultisampleStateCreateInfo* pMultisampleState; + DE_NULL, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; + &pipelineColorBlendStateInfo, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState; + DE_NULL, // const VkPipelineDynamicStateCreateInfo* pDynamicState; + pipelineLayout, // VkPipelineLayout layout; + renderPass, // VkRenderPass renderPass; + 0u, // deUint32 subpass; + DE_NULL, // VkPipeline basePipelineHandle; + 0, // deInt32 basePipelineIndex; + }; + + return createGraphicsPipeline(vk, device, DE_NULL, &graphicsPipelineInfo); +} + +//! A single-subpass render pass. +Move makeRenderPass (const DeviceInterface& vk, + const VkDevice device, + const VkFormat inputFormat, + const VkFormat colorFormat) +{ + const VkAttachmentReference inputAttachmentRef = + { + 0u, // deUint32 attachment; + VK_IMAGE_LAYOUT_GENERAL // VkImageLayout layout; + }; + + const VkAttachmentReference colorAttachmentRef = + { + 1u, // deUint32 attachment; + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL // VkImageLayout layout; + }; + + const VkSubpassDescription subpassDescription = + { + (VkSubpassDescriptionFlags)0, // VkSubpassDescriptionFlags flags; + VK_PIPELINE_BIND_POINT_GRAPHICS, // VkPipelineBindPoint pipelineBindPoint; + 1u, // deUint32 inputAttachmentCount; + &inputAttachmentRef, // const VkAttachmentReference* pInputAttachments; + 1u, // deUint32 colorAttachmentCount; + &colorAttachmentRef, // const VkAttachmentReference* pColorAttachments; + DE_NULL, // const VkAttachmentReference* pResolveAttachments; + DE_NULL, // const VkAttachmentReference* pDepthStencilAttachment; + 0u, // deUint32 preserveAttachmentCount; + DE_NULL // const deUint32* pPreserveAttachments; + }; + + const VkAttachmentDescription attachmentsDescriptions[] = + { + //inputAttachmentDescription, + { + (VkAttachmentDescriptionFlags)0, // VkAttachmentDescriptionFlags flags; + inputFormat, // VkFormat format; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_ATTACHMENT_LOAD_OP_LOAD, // VkAttachmentLoadOp loadOp; + VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp storeOp; + VK_ATTACHMENT_LOAD_OP_DONT_CARE, // VkAttachmentLoadOp stencilLoadOp; + VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp stencilStoreOp; + VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout initialLayout; + VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout finalLayout; + }, + //colorAttachmentDescription + { + (VkAttachmentDescriptionFlags)0, // VkAttachmentDescriptionFlags flags; + colorFormat, // VkFormat format; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_ATTACHMENT_LOAD_OP_CLEAR, // VkAttachmentLoadOp loadOp; + VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp; + VK_ATTACHMENT_LOAD_OP_DONT_CARE, // VkAttachmentLoadOp stencilLoadOp; + VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp stencilStoreOp; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout; + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, // VkImageLayout finalLayout; + } + }; + + const VkRenderPassCreateInfo renderPassInfo = + { + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkRenderPassCreateFlags)0, // VkRenderPassCreateFlags flags; + DE_LENGTH_OF_ARRAY(attachmentsDescriptions), // deUint32 attachmentCount; + attachmentsDescriptions, // const VkAttachmentDescription* pAttachments; + 1u, // deUint32 subpassCount; + &subpassDescription, // const VkSubpassDescription* pSubpasses; + 0u, // deUint32 dependencyCount; + DE_NULL // const VkSubpassDependency* pDependencies; + }; + + return createRenderPass(vk, device, &renderPassInfo); +} + +//! A single-subpass render pass. +Move makeRenderPass (const DeviceInterface& vk, + const VkDevice device) +{ + const VkSubpassDescription subpassDescription = + { + (VkSubpassDescriptionFlags)0, // VkSubpassDescriptionFlags flags; + VK_PIPELINE_BIND_POINT_GRAPHICS, // VkPipelineBindPoint pipelineBindPoint; + 0u, // deUint32 inputAttachmentCount; + DE_NULL, // const VkAttachmentReference* pInputAttachments; + 0u, // deUint32 colorAttachmentCount; + DE_NULL, // const VkAttachmentReference* pColorAttachments; + DE_NULL, // const VkAttachmentReference* pResolveAttachments; + DE_NULL, // const VkAttachmentReference* pDepthStencilAttachment; + 0u, // deUint32 preserveAttachmentCount; + DE_NULL // const deUint32* pPreserveAttachments; + }; + + const VkRenderPassCreateInfo renderPassInfo = + { + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkRenderPassCreateFlags)0, // VkRenderPassCreateFlags flags; + 0, // deUint32 attachmentCount; + DE_NULL, // const VkAttachmentDescription* pAttachments; + 1u, // deUint32 subpassCount; + &subpassDescription, // const VkSubpassDescription* pSubpasses; + 0u, // deUint32 dependencyCount; + DE_NULL // const VkSubpassDependency* pDependencies; + }; + + return createRenderPass(vk, device, &renderPassInfo); +} + Move makeBufferView (const DeviceInterface& vk, const VkDevice vkDevice, const VkBuffer buffer, @@ -287,17 +694,18 @@ Move makeBufferView (const DeviceInterface& vk, return createBufferView(vk, vkDevice, &bufferViewParams); } -Move makeImageView (const DeviceInterface& vk, - const VkDevice vkDevice, - const VkImage image, - const VkImageViewType imageViewType, - const VkFormat format, - const VkImageSubresourceRange subresourceRange) +Move makeImageView (const DeviceInterface& vk, + const VkDevice vkDevice, + const VkImage image, + const VkImageViewType imageViewType, + const VkFormat format, + const VkImageSubresourceRange subresourceRange, + const VkImageViewUsageCreateInfoKHR* ImageUsageCreateInfoKHR) { const VkImageViewCreateInfo imageViewParams = { VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO, // VkStructureType sType; - DE_NULL, // const void* pNext; + ImageUsageCreateInfoKHR, // const void* pNext; 0u, // VkImageViewCreateFlags flags; image, // VkImage image; imageViewType, // VkImageViewType viewType; @@ -368,6 +776,33 @@ VkImageMemoryBarrier makeImageMemoryBarrier (const VkAccessFlags srcAccessMask return barrier; } +VkSamplerCreateInfo makeSamplerCreateInfo () +{ + const VkSamplerCreateInfo defaultSamplerParams = + { + VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + 0u, // VkSamplerCreateFlags flags; + VK_FILTER_NEAREST, // VkFilter magFilter; + VK_FILTER_NEAREST, // VkFilter minFilter; + VK_SAMPLER_MIPMAP_MODE_NEAREST, // VkSamplerMipmapMode mipmapMode; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, // VkSamplerAddressMode addressModeU; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, // VkSamplerAddressMode addressModeV; + VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE, // VkSamplerAddressMode addressModeW; + 0.0f, // float mipLodBias; + VK_FALSE, // VkBool32 anisotropyEnable; + 1.0f, // float maxAnisotropy; + false, // VkBool32 compareEnable; + VK_COMPARE_OP_NEVER, // VkCompareOp compareOp; + 0.0f, // float minLod; + 0.25f, // float maxLod; + VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, // VkBorderColor borderColor; + false // VkBool32 unnormalizedCoordinates; + }; + + return defaultSamplerParams; +} + void beginCommandBuffer (const DeviceInterface& vk, const VkCommandBuffer commandBuffer) { const VkCommandBufferBeginInfo commandBufBeginParams = @@ -408,6 +843,37 @@ void submitCommandsAndWait (const DeviceInterface& vk, VK_CHECK(vk.waitForFences(device, 1u, &fence.get(), DE_TRUE, ~0ull)); } +tcu::UVec3 getCompressedImageResolutionInBlocks(const vk::VkFormat format, const tcu::UVec3 size) +{ + deUint32 blockWidth = getBlockWidth(format); + deUint32 blockHeight = getBlockHeight(format); + + DE_ASSERT(size[2] == 1); + DE_ASSERT(blockWidth != 0 && blockHeight != 0); + + deUint32 widthInBlocks = (size[0] + blockWidth - 1) / blockWidth; + deUint32 heightInBlocks = (size[1] + blockHeight - 1) / blockHeight; + + return tcu::UVec3(widthInBlocks, heightInBlocks, 1); +} + +VkDeviceSize getCompressedImageSizeInBytes (const vk::VkFormat format, const tcu::UVec3& size) +{ + tcu::UVec3 sizeInBlocks = getCompressedImageResolutionInBlocks(format, size); + deUint32 blockBytes = getBlockSizeInBytes(format); + VkDeviceSize sizeBytes = sizeInBlocks[0] * sizeInBlocks[1] * sizeInBlocks[2] * blockBytes; + + return sizeBytes; +} + +VkDeviceSize getUncompressedImageSizeInBytes (const vk::VkFormat format, const tcu::UVec3& size) +{ + const tcu::IVec3 sizeAsIVec3 = tcu::IVec3((int)size.x(), (int)size.y(), (int)size.z()); + const VkDeviceSize sizeBytes = getImageSizeBytes(sizeAsIVec3, format); + + return sizeBytes; +} + VkImageType mapImageType (const ImageType imageType) { switch (imageType) @@ -551,6 +1017,93 @@ std::string getShaderImageFormatQualifier (const tcu::TextureFormat& format) return std::string() + orderPart + typePart; } +std::string getGlslSamplerType (const tcu::TextureFormat& format, VkImageViewType type) +{ + const char* typePart = DE_NULL; + const char* formatPart = tcu::getTextureChannelClass(format.type) == tcu::TEXTURECHANNELCLASS_UNSIGNED_INTEGER ? "u" : + tcu::getTextureChannelClass(format.type) == tcu::TEXTURECHANNELCLASS_SIGNED_INTEGER ? "i" : ""; + + switch (type) + { + case VK_IMAGE_VIEW_TYPE_1D: typePart = "sampler1D"; break; + case VK_IMAGE_VIEW_TYPE_1D_ARRAY: typePart = "sampler1DArray"; break; + case VK_IMAGE_VIEW_TYPE_2D: typePart = "sampler2D"; break; + case VK_IMAGE_VIEW_TYPE_2D_ARRAY: typePart = "sampler2DArray"; break; + case VK_IMAGE_VIEW_TYPE_3D: typePart = "sampler3D"; break; + case VK_IMAGE_VIEW_TYPE_CUBE: typePart = "samplerCube"; break; + case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY: typePart = "samplerCubeArray"; break; + + default: + DE_FATAL("Unknown image view type"); + break; + } + + return std::string(formatPart) + typePart; +} + + +const char* getGlslInputFormatType (const vk::VkFormat format) +{ + switch (format) + { + // 64-bit + case VK_FORMAT_R16G16B16A16_UNORM: return "subpassInput"; + case VK_FORMAT_R16G16B16A16_SNORM: return "subpassInput"; + case VK_FORMAT_R16G16B16A16_USCALED: return "subpassInput"; + case VK_FORMAT_R16G16B16A16_SSCALED: return "subpassInput"; + case VK_FORMAT_R16G16B16A16_UINT: return "usubpassInput"; + case VK_FORMAT_R16G16B16A16_SINT: return "isubpassInput"; + case VK_FORMAT_R16G16B16A16_SFLOAT: return "subpassInput"; + case VK_FORMAT_R32G32_UINT: return "usubpassInput"; + case VK_FORMAT_R32G32_SINT: return "isubpassInput"; + case VK_FORMAT_R32G32_SFLOAT: return "subpassInput"; + // TODO: case VK_FORMAT_R64_UINT: return "usubpassInput"; + // TODO: case VK_FORMAT_R64_SINT: return "isubpassInput"; + // TODO: case VK_FORMAT_R64_SFLOAT: return "subpassInput"; + + // 128-bit + case VK_FORMAT_R32G32B32A32_UINT: return "usubpassInput"; + case VK_FORMAT_R32G32B32A32_SINT: return "isubpassInput"; + case VK_FORMAT_R32G32B32A32_SFLOAT: return "subpassInput"; + // TODO: case VK_FORMAT_R64G64_UINT: return "usubpassInput"; + // TODO: case VK_FORMAT_R64G64_SINT: return "isubpassInput"; + // TODO: case VK_FORMAT_R64G64_SFLOAT: return "subpassInput"; + + default: TCU_THROW(InternalError, "Unknown format"); + } +} + +const char* getGlslFormatType (const vk::VkFormat format) +{ + switch (format) + { + // 64-bit + case VK_FORMAT_R16G16B16A16_UNORM: return "vec4"; + case VK_FORMAT_R16G16B16A16_SNORM: return "vec4"; + case VK_FORMAT_R16G16B16A16_USCALED: return "vec4"; + case VK_FORMAT_R16G16B16A16_SSCALED: return "vec4"; + case VK_FORMAT_R16G16B16A16_UINT: return "uvec4"; + case VK_FORMAT_R16G16B16A16_SINT: return "ivec4"; + case VK_FORMAT_R16G16B16A16_SFLOAT: return "vec4"; + case VK_FORMAT_R32G32_UINT: return "uvec2"; + case VK_FORMAT_R32G32_SINT: return "ivec2"; + case VK_FORMAT_R32G32_SFLOAT: return "vec2"; + // TODO: case VK_FORMAT_R64_UINT: return "uint64"; + // TODO: case VK_FORMAT_R64_SINT: return "int64"; + // TODO: case VK_FORMAT_R64_SFLOAT: return "double"; + + // 128-bit + case VK_FORMAT_R32G32B32A32_UINT: return "uvec4"; + case VK_FORMAT_R32G32B32A32_SINT: return "ivec4"; + case VK_FORMAT_R32G32B32A32_SFLOAT: return "vec4"; + // TODO: case VK_FORMAT_R64G64_UINT: return "ulvec2"; + // TODO: case VK_FORMAT_R64G64_SINT: return "ilvec2"; + // TODO: case VK_FORMAT_R64G64_SFLOAT: return "dvec2"; + + default: TCU_THROW(InternalError, "Unknown format"); + } +} + std::string getFormatShortString (const VkFormat format) { const std::string fullName = getFormatName(format); @@ -560,5 +1113,105 @@ std::string getFormatShortString (const VkFormat format) return de::toLower(fullName.substr(10)); } +std::vector createFullscreenQuad (void) +{ + const tcu::Vec4 lowerLeftVertex (-1.0f, -1.0f, 0.0f, 1.0f); + const tcu::Vec4 upperLeftVertex (-1.0f, 1.0f, 0.0f, 1.0f); + const tcu::Vec4 lowerRightVertex (1.0f, -1.0f, 0.0f, 1.0f); + const tcu::Vec4 upperRightVertex (1.0f, 1.0f, 0.0f, 1.0f); + + const tcu::Vec4 vertices[6] = + { + lowerLeftVertex, + lowerRightVertex, + upperLeftVertex, + + upperLeftVertex, + lowerRightVertex, + upperRightVertex + }; + + return std::vector(vertices, vertices + DE_LENGTH_OF_ARRAY(vertices)); +} + +vk::VkBufferImageCopy makeBufferImageCopy (const deUint32 imageWidth, const deUint32 imageHeight) +{ + const VkBufferImageCopy copyParams = + { + (VkDeviceSize)0u, // bufferOffset + imageWidth, // bufferRowLength + imageHeight, // bufferImageHeight + { + VK_IMAGE_ASPECT_COLOR_BIT, // aspectMask + 0u, // mipLevel + 0u, // baseArrayLayer + 1u, // layerCount + }, // imageSubresource + { 0u, 0u, 0u }, // imageOffset + { + imageWidth, + imageHeight, + 1u + } // imageExtent + }; + + return copyParams; +} + +void beginRenderPass (const DeviceInterface& vk, + const VkCommandBuffer commandBuffer, + const VkRenderPass renderPass, + const VkFramebuffer framebuffer, + const VkExtent2D& renderSize) +{ + const VkClearValue clearValues[] = + { + makeClearValueColorF32(0.0, 0.0, 0.0, 0.0), + makeClearValueColorF32(0.0, 0.0, 0.0, 0.0), + }; + const VkRect2D renderArea = + { + {0, 0}, // VkOffset2D offset; + renderSize, // VkExtent2D extent; + }; + const VkRenderPassBeginInfo renderPassBeginInfo = + { + VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + renderPass, // VkRenderPass renderPass; + framebuffer, // VkFramebuffer framebuffer; + renderArea, // VkRect2D renderArea; + DE_LENGTH_OF_ARRAY(clearValues), // uint32_t clearValueCount; + clearValues, // const VkClearValue* pClearValues; + }; + + vk.cmdBeginRenderPass(commandBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE); +} + +Move makeFramebuffer (const DeviceInterface& vk, + const VkDevice device, + const VkRenderPass renderPass, + const deUint32 attachmentCount, + const VkImageView* pAttachments, + const VkExtent2D& size, + const deUint32 layersCount) +{ + const vk::VkFramebufferCreateInfo framebufferInfo = + { + VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkFramebufferCreateFlags)0, // VkFramebufferCreateFlags flags; + renderPass, // VkRenderPass renderPass; + attachmentCount, // uint32_t attachmentCount; + pAttachments, // const VkImageView* pAttachments; + static_cast(size.width), // uint32_t width; + static_cast(size.height), // uint32_t height; + layersCount, // uint32_t layers; + }; + + return createFramebuffer(vk, device, &framebufferInfo); +} + + } // image } // vkt diff --git a/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.hpp b/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.hpp index 67fcc5f..5befa7b 100644 --- a/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.hpp +++ b/external/vulkancts/modules/vulkan/image/vktImageTestsUtil.hpp @@ -55,6 +55,9 @@ vk::VkImageViewType mapImageViewType (const ImageType imageType); std::string getImageTypeName (const ImageType imageType); std::string getShaderImageType (const tcu::TextureFormat& format, const ImageType imageType, const bool multisample = false); std::string getShaderImageFormatQualifier (const tcu::TextureFormat& format); +std::string getGlslSamplerType (const tcu::TextureFormat& format, vk::VkImageViewType type); +const char* getGlslInputFormatType (const vk::VkFormat format); +const char* getGlslFormatType (const vk::VkFormat format); class Buffer { @@ -98,77 +101,123 @@ private: Image& operator= (const Image&); }; -tcu::UVec3 getShaderGridSize (const ImageType imageType, const tcu::UVec3& imageSize); //!< Size used for addresing image in a shader -tcu::UVec3 getLayerSize (const ImageType imageType, const tcu::UVec3& imageSize); //!< Size of a single layer -deUint32 getNumLayers (const ImageType imageType, const tcu::UVec3& imageSize); //!< Number of array layers (for array and cube types) -deUint32 getNumPixels (const ImageType imageType, const tcu::UVec3& imageSize); //!< Number of texels in an image -deUint32 getDimensions (const ImageType imageType); //!< Coordinate dimension used for addressing (e.g. 3 (x,y,z) for 2d array) -deUint32 getLayerDimensions (const ImageType imageType); //!< Coordinate dimension used for addressing a single layer (e.g. 2 (x,y) for 2d array) - -vk::Move makePipelineLayout (const vk::DeviceInterface& vk, - const vk::VkDevice device, - const vk::VkDescriptorSetLayout descriptorSetLayout); - -vk::Move makeComputePipeline (const vk::DeviceInterface& vk, - const vk::VkDevice device, - const vk::VkPipelineLayout pipelineLayout, - const vk::VkShaderModule shaderModule); - -vk::Move makeBufferView (const vk::DeviceInterface& vk, - const vk::VkDevice device, - const vk::VkBuffer buffer, - const vk::VkFormat format, - const vk::VkDeviceSize offset, - const vk::VkDeviceSize size); - -vk::Move makeImageView (const vk::DeviceInterface& vk, - const vk::VkDevice device, - const vk::VkImage image, - const vk::VkImageViewType imageViewType, - const vk::VkFormat format, - const vk::VkImageSubresourceRange subresourceRange); - -vk::Move makeDescriptorSet (const vk::DeviceInterface& vk, - const vk::VkDevice device, - const vk::VkDescriptorPool descriptorPool, - const vk::VkDescriptorSetLayout setLayout); - -vk::VkBufferCreateInfo makeBufferCreateInfo (const vk::VkDeviceSize bufferSize, - const vk::VkBufferUsageFlags usage); - -vk::VkBufferImageCopy makeBufferImageCopy (const vk::VkExtent3D extent, - const deUint32 arraySize); - -vk::VkBufferMemoryBarrier makeBufferMemoryBarrier (const vk::VkAccessFlags srcAccessMask, - const vk::VkAccessFlags dstAccessMask, - const vk::VkBuffer buffer, - const vk::VkDeviceSize offset, - const vk::VkDeviceSize bufferSizeBytes); - -vk::VkImageMemoryBarrier makeImageMemoryBarrier (const vk::VkAccessFlags srcAccessMask, - const vk::VkAccessFlags dstAccessMask, - const vk::VkImageLayout oldLayout, - const vk::VkImageLayout newLayout, - const vk::VkImage image, - const vk::VkImageSubresourceRange subresourceRange); - -void beginCommandBuffer (const vk::DeviceInterface& vk, - const vk::VkCommandBuffer cmdBuffer); - -void endCommandBuffer (const vk::DeviceInterface& vk, - const vk::VkCommandBuffer cmdBuffer); - -void submitCommandsAndWait (const vk::DeviceInterface& vk, - const vk::VkDevice device, - const vk::VkQueue queue, - const vk::VkCommandBuffer cmdBuffer); +deUint32 getBlockSizeInBytes (const vk::VkFormat compressedFormat); +deUint32 getBlockWidth (const vk::VkFormat compressedFormat); +deUint32 getBlockHeight (const vk::VkFormat compressedFormat); +tcu::UVec3 getShaderGridSize (const ImageType imageType, const tcu::UVec3& imageSize); //!< Size used for addresing image in a shader +tcu::UVec3 getLayerSize (const ImageType imageType, const tcu::UVec3& imageSize); //!< Size of a single layer +deUint32 getNumLayers (const ImageType imageType, const tcu::UVec3& imageSize); //!< Number of array layers (for array and cube types) +deUint32 getNumPixels (const ImageType imageType, const tcu::UVec3& imageSize); //!< Number of texels in an image +deUint32 getDimensions (const ImageType imageType); //!< Coordinate dimension used for addressing (e.g. 3 (x,y,z) for 2d array) +deUint32 getLayerDimensions (const ImageType imageType); //!< Coordinate dimension used for addressing a single layer (e.g. 2 (x,y) for 2d array) +std::vector getMipLevelSizes (tcu::UVec3 baseSize); + +vk::Move makePipelineLayout (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkDescriptorSetLayout descriptorSetLayout); + +vk::Move makeComputePipeline (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkPipelineLayout pipelineLayout, + const vk::VkShaderModule shaderModule); + +vk::Move makeGraphicsPipeline (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkPipelineLayout pipelineLayout, + const vk::VkRenderPass renderPass, + const vk::VkShaderModule vertexModule, + const vk::VkShaderModule fragmentModule, + const vk::VkExtent2D renderSize, + const deUint32 colorAttachmentCount); + +vk::Move makeRenderPass (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkFormat inputFormat, + const vk::VkFormat colorFormat); + +vk::Move makeRenderPass (const vk::DeviceInterface& vk, + const vk::VkDevice device); + +vk::Move makeBufferView (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkBuffer buffer, + const vk::VkFormat format, + const vk::VkDeviceSize offset, + const vk::VkDeviceSize size); + +vk::Move makeImageView (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkImage image, + const vk::VkImageViewType imageViewType, + const vk::VkFormat format, + const vk::VkImageSubresourceRange subresourceRange, + const vk::VkImageViewUsageCreateInfoKHR* ImageUsageCreateInfoKHR = DE_NULL); + +vk::Move makeDescriptorSet (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkDescriptorPool descriptorPool, + const vk::VkDescriptorSetLayout setLayout); + +vk::VkBufferCreateInfo makeBufferCreateInfo (const vk::VkDeviceSize bufferSize, + const vk::VkBufferUsageFlags usage); + +vk::VkBufferImageCopy makeBufferImageCopy (const vk::VkExtent3D extent, + const deUint32 arraySize); + +vk::VkBufferMemoryBarrier makeBufferMemoryBarrier (const vk::VkAccessFlags srcAccessMask, + const vk::VkAccessFlags dstAccessMask, + const vk::VkBuffer buffer, + const vk::VkDeviceSize offset, + const vk::VkDeviceSize bufferSizeBytes); + +vk::VkImageMemoryBarrier makeImageMemoryBarrier (const vk::VkAccessFlags srcAccessMask, + const vk::VkAccessFlags dstAccessMask, + const vk::VkImageLayout oldLayout, + const vk::VkImageLayout newLayout, + const vk::VkImage image, + const vk::VkImageSubresourceRange subresourceRange); + +vk::VkSamplerCreateInfo makeSamplerCreateInfo (); + +void beginCommandBuffer (const vk::DeviceInterface& vk, + const vk::VkCommandBuffer cmdBuffer); + +void endCommandBuffer (const vk::DeviceInterface& vk, + const vk::VkCommandBuffer cmdBuffer); + +void submitCommandsAndWait (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkQueue queue, + const vk::VkCommandBuffer cmdBuffer); inline vk::VkDeviceSize getImageSizeBytes (const tcu::IVec3& imageSize, const vk::VkFormat format) { return tcu::getPixelSize(vk::mapVkFormat(format)) * imageSize.x() * imageSize.y() * imageSize.z(); } -std::string getFormatShortString (const vk::VkFormat format); +tcu::UVec3 getCompressedImageResolutionInBlocks (const vk::VkFormat format, const tcu::UVec3 size); +vk::VkDeviceSize getCompressedImageSizeInBytes (const vk::VkFormat format, const tcu::UVec3& size); +vk::VkDeviceSize getUncompressedImageSizeInBytes (const vk::VkFormat format, const tcu::UVec3& size); + +std::string getFormatShortString (const vk::VkFormat format); + +std::vector createFullscreenQuad (void); + +vk::VkBufferImageCopy makeBufferImageCopy (const deUint32 imageWidth, const deUint32 imageHeight); + +void beginRenderPass (const vk::DeviceInterface& vk, + const vk::VkCommandBuffer commandBuffer, + const vk::VkRenderPass renderPass, + const vk::VkFramebuffer framebuffer, + const vk::VkExtent2D& renderSize); + +vk::Move makeFramebuffer (const vk::DeviceInterface& vk, + const vk::VkDevice device, + const vk::VkRenderPass renderPass, + const deUint32 attachmentCount, + const vk::VkImageView* pAttachments, + const vk::VkExtent2D& size, + const deUint32 layersCount); } // image } // vkt diff --git a/external/vulkancts/mustpass/1.0.3/vk-default.txt b/external/vulkancts/mustpass/1.0.3/vk-default.txt index 0b2d640..a35cf1f 100644 --- a/external/vulkancts/mustpass/1.0.3/vk-default.txt +++ b/external/vulkancts/mustpass/1.0.3/vk-default.txt @@ -199448,6 +199448,1974 @@ dEQP-VK.image.atomic_operations.exchange.cube_array.r32ui_end_result dEQP-VK.image.atomic_operations.exchange.cube_array.r32ui_intermediate_values dEQP-VK.image.atomic_operations.exchange.cube_array.r32i_end_result dEQP-VK.image.atomic_operations.exchange.cube_array.r32i_intermediate_values +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_load.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texel_fetch.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.texture.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.compute.image_store.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_read.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.attachment_write.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_read.astc_12x12_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgb_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc1_rgba_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc4_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a1_srgb_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_unorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_unorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_snorm +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_uscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_sscaled +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r16g16b16a16_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r32g32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r32g32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11_snorm_block.r32g32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc2_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc3_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc5_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_ufloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_ufloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_ufloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_sfloat_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_sfloat_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc6h_sfloat_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.bc7_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.etc2_r8g8b8a8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_snorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_snorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.eac_r11g11_snorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_4x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x4_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_5x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_6x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_8x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x5_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x6_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x8_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_10x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x10_srgb_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_unorm_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_unorm_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_unorm_block.r32g32b32a32_sfloat +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_srgb_block.r32g32b32a32_uint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_srgb_block.r32g32b32a32_sint +dEQP-VK.image.texel_view_compatible.graphic.texture_write.astc_12x12_srgb_block.r32g32b32a32_sfloat dEQP-VK.wsi.xlib.surface.create dEQP-VK.wsi.xlib.surface.create_custom_allocator dEQP-VK.wsi.xlib.surface.create_simulate_oom -- 2.7.4