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 \
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
vktImageTexture.hpp
vktImageMultisampleLoadStoreTests.cpp
vktImageMultisampleLoadStoreTests.hpp
+ vktImageCompressionTranscodingSupport.cpp
+ vktImageCompressionTranscodingSupport.hpp
vktImageLoadStoreUtil.cpp
vktImageLoadStoreUtil.hpp
)
--- /dev/null
+/*------------------------------------------------------------------------
+ * 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 <vector>
+#include <iomanip>
+
+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<MovePtr<Image> > ImageSp;
+typedef SharedPtr<Move<VkImageView> > 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<typename T>
+inline SharedPtr<Move<T> > makeVkSharedPtr (Move<T> move)
+{
+ return SharedPtr<Move<T> >(new vk::Move<T>(move));
+}
+
+template<typename T>
+inline SharedPtr<MovePtr<T> > makeVkSharedPtr (MovePtr<T> movePtr)
+{
+ return SharedPtr<MovePtr<T> >(new MovePtr<T>(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<deUint32*>(start);
+ size_t sizeToRnd32 = sizeToRnd / sizeof(deUint32);
+ Random rnd (static_cast<deUint32>(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<ImageSp>& images,
+ const vector<ImageViewSp>& 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<deUint8> m_data;
+};
+
+BasicComputeTestInstance::BasicComputeTestInstance (Context& context, const TestParameters& parameters)
+ :BasicTranscodingTestInstance (context, parameters)
+ ,m_data (static_cast<size_t>(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<VkDescriptorSetLayout> descriptorSetLayout;
+ Move<VkDescriptorPool> descriptorPool;
+
+ vector<ImageSp> images;
+ vector<VkImageCreateInfo> imagesInfo (m_parameters.imagesCount);
+ createImageInfos(&imagesInfo[0]);
+ vector<ImageViewSp> 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<Image>(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<VkCommandPool> cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
+ const Unique<VkCommandBuffer> 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<ImageSp>& images,
+ const vector<ImageViewSp>& imageViews)
+{
+ const DeviceInterface& vk = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ const VkQueue queue = m_context.getUniversalQueue();
+ const Unique<VkShaderModule> shaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("comp"), 0));
+ Move<VkDescriptorSet> descriptorSet = makeDescriptorSet(vk, device, descriptorPool, descriptorSetLayout);
+ const Unique<VkPipelineLayout> pipelineLayout (makePipelineLayout(vk, device, descriptorSetLayout));
+ const Unique<VkPipeline> pipeline (makeComputePipeline(vk, device, *pipelineLayout, *shaderModule));
+ const UVec3 extentUncompressed = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size);
+ Move<VkSampler> 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<VkDescriptorImageInfo> 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<VkShaderModule> 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<VkImageView> 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<VkImageView> 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<VkImageView> 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<VkImageView> 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<VkDescriptorSetLayout> 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<VkDescriptorPool> 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<VkDescriptorSet> descriptorSet = makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout);
+ const Unique<VkPipelineLayout> pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout));
+ const Unique<VkPipeline> 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<VkSampler> 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<ImageSp>& images,
+ const vector<ImageViewSp>& 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<ImageSp>& images,
+ const vector<ImageViewSp>& imageViews)
+{
+ const DeviceInterface& vk = m_context.getDeviceInterface();
+ const VkDevice device = m_context.getDevice();
+ const VkQueue queue = m_context.getUniversalQueue();
+ const Unique<VkShaderModule> shaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("comp"), 0));
+ Move<VkDescriptorSet> descriptorSet = makeDescriptorSet(vk, device, descriptorPool, descriptorSetLayout);
+ const Unique<VkPipelineLayout> pipelineLayout (makePipelineLayout(vk, device, descriptorSetLayout));
+ const Unique<VkPipeline> pipeline (makeComputePipeline(vk, device, *pipelineLayout, *shaderModule));
+ const UVec3 extentUncompressed = getCompressedImageResolutionInBlocks(m_parameters.formatCompressed, m_parameters.size);
+
+ vector<VkDescriptorImageInfo> 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<deUint8>& data);
+ VkDeviceSize getUncompressedImageData (const VkFormat format, const UVec3& size, std::vector<deUint8>& data);
+ virtual void transcode (std::vector<deUint8>& srcData, std::vector<deUint8>& dstData, de::MovePtr<Image>& outputImage);
+ bool compareAndLog (const void* reference, const void* result, size_t size);
+ bool verifyDecompression (const std::vector<deUint8>& refCompressedData, const de::MovePtr<Image>& 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<deUint8> srcData;
+ std::vector<deUint8> dstData;
+ de::MovePtr<Image> 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<deUint8>& srcData, std::vector<deUint8>& dstData, de::MovePtr<Image>& 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<tcu::Vec4> vertexArray = createFullscreenQuad();
+ const deUint32 vertexCount = static_cast<deUint32>(vertexArray.size());
+ const size_t vertexBufferSizeInBytes = vertexCount * sizeof(vertexArray[0]);
+ const MovePtr<Buffer> vertexBuffer = MovePtr<Buffer>(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<Buffer> srcImageBuffer = MovePtr<Buffer>(new Buffer(vk, device, allocator, srcImageBufferInfo, MemoryRequirement::HostVisible));
+
+ const VkImageCreateInfo srcImageCreateInfo = makeCreateImageInfo(srcFormat, m_parameters.imageType, srcImageResolution, srcImageUsageFlags, imgCreateFlagsOverride);
+ const MovePtr<Image> srcImage (new Image(vk, device, allocator, srcImageCreateInfo, MemoryRequirement::Any));
+ Move<VkImageView> 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<Image> dstImage (new Image(vk, device, allocator, dstImageCreateInfo, MemoryRequirement::Any));
+ Move<VkImageView> 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<Buffer> dstImageBuffer = MovePtr<Buffer>(new Buffer(vk, device, allocator, dstImageBufferInfo, MemoryRequirement::HostVisible));
+
+ const Unique<VkShaderModule> vertShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("vert"), 0));
+ const Unique<VkShaderModule> fragShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("frag"), 0));
+
+ const Unique<VkRenderPass> renderPass (makeRenderPass(vk, device, m_parameters.formatUncompressed, m_parameters.formatUncompressed));
+
+ const Move<VkDescriptorSetLayout> descriptorSetLayout (DescriptorSetLayoutBuilder()
+ .addSingleBinding(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, VK_SHADER_STAGE_FRAGMENT_BIT)
+ .build(vk, device));
+ const Move<VkDescriptorPool> 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<VkDescriptorSet> 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<VkPipelineLayout> pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout));
+ const Unique<VkPipeline> pipeline (makeGraphicsPipeline(vk, device, *pipelineLayout, *renderPass, *vertShaderModule, *fragShaderModule, renderSize, 1u));
+ const Unique<VkCommandPool> cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, queueFamilyIndex));
+ const Unique<VkCommandBuffer> 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<VkFramebuffer> 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<deUint8>& 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<deUint8>& data)
+{
+ tcu::IVec3 sizeAsIVec3 = tcu::IVec3(static_cast<int>(size[0]), static_cast<int>(size[1]), static_cast<int>(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<const deUint64*>(reference);
+ const deUint64* res64 = reinterpret_cast<const deUint64*>(result);
+ const size_t sizew = size / sizeof(deUint64);
+ bool equal = true;
+
+ DE_ASSERT(size % sizeof(deUint64) == 0);
+
+ for (deUint32 ndx = 0u; ndx < static_cast<deUint32>(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<deUint8>& refCompressedData, const de::MovePtr<Image>& 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<tcu::Vec4> vertexArray = createFullscreenQuad();
+ const deUint32 vertexCount = static_cast<deUint32>(vertexArray.size());
+ const size_t vertexBufferSizeInBytes = vertexCount * sizeof(vertexArray[0]);
+ const MovePtr<Buffer> 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<Buffer> refSrcImageBuffer = MovePtr<Buffer>(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<Image> refSrcImage (new Image(vk, device, allocator, refSrcImageCreateInfo, MemoryRequirement::Any));
+ Move<VkImageView> 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<VkImageView> 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<Image> refDstImage (new Image(vk, device, allocator, refDstImageCreateInfo, MemoryRequirement::Any));
+ const Move<VkImageView> 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<Buffer> refDstBuffer = MovePtr<Buffer>(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<Image> resDstImage (new Image(vk, device, allocator, resDstImageCreateInfo, MemoryRequirement::Any));
+ const Move<VkImageView> 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<Buffer> resDstBuffer = MovePtr<Buffer>(new Buffer(vk, device, allocator, resDstBufferInfo, MemoryRequirement::HostVisible));
+
+ const Unique<VkShaderModule> vertShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("vert"), 0));
+ const Unique<VkShaderModule> fragShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("frag_verify"), 0));
+
+ const Unique<VkRenderPass> renderPass (makeRenderPass(vk, device));
+
+ const Move<VkDescriptorSetLayout> 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<VkDescriptorPool> 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<VkDescriptorSet> descriptorSet (makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout));
+ const VkSamplerCreateInfo refSrcSamplerInfo (makeSamplerCreateInfo());
+ const Move<VkSampler> refSrcSampler = vk::createSampler(vk, device, &refSrcSamplerInfo);
+ const VkSamplerCreateInfo resSrcSamplerInfo (makeSamplerCreateInfo());
+ const Move<VkSampler> 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<VkPipelineLayout> pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout));
+ const Unique<VkPipeline> pipeline (makeGraphicsPipeline(vk, device, *pipelineLayout, *renderPass, *vertShaderModule, *fragShaderModule, renderSize, 0u));
+ const Unique<VkCommandPool> cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, queueFamilyIndex));
+ const Unique<VkCommandBuffer> 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<VkFramebuffer> 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<deUint8>& srcData, std::vector<deUint8>& dstData, de::MovePtr<Image>& 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<deUint8>& srcData, std::vector<deUint8>& dstData, de::MovePtr<Image>& 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<tcu::Vec4> vertexArray = createFullscreenQuad();
+ const deUint32 vertexCount = static_cast<deUint32>(vertexArray.size());
+ const size_t vertexBufferSizeInBytes = vertexCount * sizeof(vertexArray[0]);
+ const MovePtr<Buffer> vertexBuffer = MovePtr<Buffer>(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<Buffer> srcImageBuffer = MovePtr<Buffer>(new Buffer(vk, device, allocator, srcImageBufferInfo, MemoryRequirement::HostVisible));
+
+ const VkImageCreateInfo srcImageCreateInfo = makeCreateImageInfo(srcFormat, m_parameters.imageType, srcImageResolution, srcImageUsageFlags, imgCreateFlagsOverride);
+ const MovePtr<Image> srcImage (new Image(vk, device, allocator, srcImageCreateInfo, MemoryRequirement::Any));
+ Move<VkImageView> 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<Image> dstImage (new Image(vk, device, allocator, dstImageCreateInfo, MemoryRequirement::Any));
+ Move<VkImageView> 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<Buffer> dstImageBuffer = MovePtr<Buffer>(new Buffer(vk, device, allocator, dstImageBufferInfo, MemoryRequirement::HostVisible));
+
+ const Unique<VkShaderModule> vertShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("vert"), 0));
+ const Unique<VkShaderModule> fragShaderModule (createShaderModule(vk, device, m_context.getBinaryCollection().get("frag"), 0));
+
+ const Unique<VkRenderPass> renderPass (makeRenderPass(vk, device));
+
+ const Move<VkDescriptorSetLayout> 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<VkDescriptorPool> 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<VkDescriptorSet> descriptorSet (makeDescriptorSet(vk, device, *descriptorPool, *descriptorSetLayout));
+ const VkSamplerCreateInfo srcSamplerInfo (makeSamplerCreateInfo());
+ const Move<VkSampler> 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<VkPipelineLayout> pipelineLayout (makePipelineLayout(vk, device, *descriptorSetLayout));
+ const Unique<VkPipeline> pipeline (makeGraphicsPipeline(vk, device, *pipelineLayout, *renderPass, *vertShaderModule, *fragShaderModule, renderSize, 0u));
+ const Unique<VkCommandPool> cmdPool (createCommandPool(vk, device, VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, queueFamilyIndex));
+ const Unique<VkCommandBuffer> 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<VkFramebuffer> 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, "<<formatQualifierStr<<") readonly uniform "<<imageTypeStr<<" u_image0;\n"
+ << "layout (binding = 1, "<<formatQualifierStr<<") writeonly uniform "<<imageTypeStr<<" u_image1;\n\n"
+ << "void main (void)\n"
+ << "{\n"
+ << " ivec2 pos = ivec2(gl_GlobalInvocationID.xy);\n"
+ << " imageStore(u_image1, pos, imageLoad(u_image0, pos));\n"
+ << "}\n";
+
+ break;
+ }
+
+ case OPERATION_TEXEL_FETCH:
+ {
+ src << "layout (binding = 0) uniform "<<getGlslSamplerType(mapVkFormat(m_parameters.formatUncompressed), mapImageViewType(m_parameters.imageType))<<" u_image0;\n"
+ << "layout (binding = 1, "<<formatQualifierStr<<") writeonly uniform "<<imageTypeStr<<" u_image1;\n\n"
+ << "void main (void)\n"
+ << "{\n"
+ << " ivec3 pos = ivec3(gl_GlobalInvocationID.xyz);\n"
+ << " imageStore(u_image1, pos.xy, texelFetch(u_image0, pos.xy, pos.z));\n"
+ << "}\n";
+
+ break;
+ }
+
+ case OPERATION_TEXTURE:
+ {
+ src << "layout (binding = 0) uniform "<<getGlslSamplerType(mapVkFormat(m_parameters.formatUncompressed), mapImageViewType(m_parameters.imageType))<<" u_image0;\n"
+ << "layout (binding = 1, "<<formatQualifierStr<<") writeonly uniform "<<imageTypeStr<<" u_image1;\n\n"
+ << "void main (void)\n"
+ << "{\n"
+ << " ivec2 pos = ivec2(gl_GlobalInvocationID.xy);\n"
+ << " imageStore(u_image1, pos, texture(u_image0, pos));\n"
+ << "}\n";
+
+ break;
+ }
+
+ case OPERATION_IMAGE_STORE:
+ {
+ src << "layout (binding = 0, "<<formatQualifierStr<<") uniform "<<imageTypeStr<<" u_image0;\n"
+ << "layout (binding = 1, "<<formatQualifierStr<<") readonly uniform "<<imageTypeStr<<" u_image1;\n"
+ << "layout (binding = 2, "<<formatQualifierStr<<") writeonly uniform "<<imageTypeStr<<" u_image2;\n\n"
+ << "void main (void)\n"
+ << "{\n"
+ << " ivec2 pos = ivec2(gl_GlobalInvocationID.xy);\n"
+ << " imageStore(u_image0, pos, imageLoad(u_image1, pos));\n"
+ << " imageStore(u_image2, pos, imageLoad(u_image0, pos));\n"
+ << "}\n";
+
+ break;
+ }
+
+ default:
+ DE_ASSERT(false);
+ }
+
+ src_decompress << "layout (binding = 0) uniform "<<getGlslSamplerType(mapVkFormat(m_parameters.formatUncompressed), mapImageViewType(m_parameters.imageType))<<" compressed_result;\n"
+ << "layout (binding = 1) uniform "<<getGlslSamplerType(mapVkFormat(m_parameters.formatUncompressed), mapImageViewType(m_parameters.imageType))<<" compressed_reference;\n"
+ << "layout (binding = 2, "<<formatQualifierStr<<") writeonly uniform "<<imageTypeStr<<" decompressed_result;\n"
+ << "layout (binding = 3, "<<formatQualifierStr<<") writeonly uniform "<<imageTypeStr<<" decompressed_reference;\n\n"
+ << "void main (void)\n"
+ << "{\n"
+ << " ivec2 pos = ivec2(gl_GlobalInvocationID.xy);\n"
+ << " imageStore(decompressed_result, pos, texture(compressed_result, pos));\n"
+ << " imageStore(decompressed_reference, pos, texture(compressed_reference, pos));\n"
+ << "}\n";
+ programCollection.glslSources.add("comp") << glu::ComputeSource(src.str());
+ programCollection.glslSources.add("decompress") << glu::ComputeSource(src_decompress.str());
+
+ break;
+ }
+
+ case SHADER_TYPE_FRAGMENT:
+ {
+ DE_ASSERT(m_parameters.size[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<tcu::TestCaseGroup> 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<VkImageUsageFlagBits>(VK_IMAGE_USAGE_STORAGE_BIT), // "image_load"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "texel_fetch"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "texture"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "image_store"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), // "attachment_read"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), // "attachment_write"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT), // "texture_read"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), // "texture_write"
+ };
+
+ const VkImageUsageFlags uncompressedImageUsageFlags[OPERATION_LAST] =
+ {
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_STORAGE_BIT), //"image_load"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), //"texel_fetch"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), //"texture"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT), //"image_store"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), //"attachment_read"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT), //"attachment_write"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_SAMPLED_BIT), //"texture_read"
+ baseImageUsageFlagSet | static_cast<VkImageUsageFlagBits>(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<tcu::TestCaseGroup> 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<tcu::TestCaseGroup> 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<tcu::TestCaseGroup> 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<Operation>(operationNdx),
+ static_cast<ShaderType>(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
--- /dev/null
+#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
#include "vktImageSizeTests.hpp"
#include "vktTestGroupUtil.hpp"
#include "vktImageAtomicOperationTests.hpp"
+#include "vktImageCompressionTranscodingSupport.hpp"
namespace vkt
{
imageTests->addChild(createImageQualifiersTests(testCtx));
imageTests->addChild(createImageSizeTests(testCtx));
imageTests->addChild(createImageAtomicOperationTests(testCtx));
+ imageTests->addChild(createImageCompressionTranscodingTests(testCtx));
}
} // anonymous
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<deUint32>(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<deUint32>(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<deUint32>(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)
}
}
+std::vector<tcu::UVec3> getMipLevelSizes (tcu::UVec3 baseSize)
+{
+ std::vector<tcu::UVec3> 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)
{
return createComputePipeline(vk, device, DE_NULL , &pipelineCreateInfo);
}
+Move<VkPipeline> 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<VkPipelineColorBlendAttachmentState> 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<VkRenderPass> 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<VkRenderPass> 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<VkBufferView> makeBufferView (const DeviceInterface& vk,
const VkDevice vkDevice,
const VkBuffer buffer,
return createBufferView(vk, vkDevice, &bufferViewParams);
}
-Move<VkImageView> makeImageView (const DeviceInterface& vk,
- const VkDevice vkDevice,
- const VkImage image,
- const VkImageViewType imageViewType,
- const VkFormat format,
- const VkImageSubresourceRange subresourceRange)
+Move<VkImageView> 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;
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 =
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)
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);
return de::toLower(fullName.substr(10));
}
+std::vector<tcu::Vec4> 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<tcu::Vec4>(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<VkFramebuffer> 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<deUint32>(size.width), // uint32_t width;
+ static_cast<deUint32>(size.height), // uint32_t height;
+ layersCount, // uint32_t layers;
+ };
+
+ return createFramebuffer(vk, device, &framebufferInfo);
+}
+
+
} // image
} // vkt
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
{
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<vk::VkPipelineLayout> makePipelineLayout (const vk::DeviceInterface& vk,
- const vk::VkDevice device,
- const vk::VkDescriptorSetLayout descriptorSetLayout);
-
-vk::Move<vk::VkPipeline> makeComputePipeline (const vk::DeviceInterface& vk,
- const vk::VkDevice device,
- const vk::VkPipelineLayout pipelineLayout,
- const vk::VkShaderModule shaderModule);
-
-vk::Move<vk::VkBufferView> 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<vk::VkImageView> 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<vk::VkDescriptorSet> 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<tcu::UVec3> getMipLevelSizes (tcu::UVec3 baseSize);
+
+vk::Move<vk::VkPipelineLayout> makePipelineLayout (const vk::DeviceInterface& vk,
+ const vk::VkDevice device,
+ const vk::VkDescriptorSetLayout descriptorSetLayout);
+
+vk::Move<vk::VkPipeline> makeComputePipeline (const vk::DeviceInterface& vk,
+ const vk::VkDevice device,
+ const vk::VkPipelineLayout pipelineLayout,
+ const vk::VkShaderModule shaderModule);
+
+vk::Move<vk::VkPipeline> 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<vk::VkRenderPass> makeRenderPass (const vk::DeviceInterface& vk,
+ const vk::VkDevice device,
+ const vk::VkFormat inputFormat,
+ const vk::VkFormat colorFormat);
+
+vk::Move<vk::VkRenderPass> makeRenderPass (const vk::DeviceInterface& vk,
+ const vk::VkDevice device);
+
+vk::Move<vk::VkBufferView> 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<vk::VkImageView> 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<vk::VkDescriptorSet> 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<tcu::Vec4> 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<vk::VkFramebuffer> 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
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