From e0461fc5ae9b85c3d5c59d7999c2a45b3b772405 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Thu, 29 Jun 2017 07:37:41 +0200 Subject: [PATCH] Expand tests for mutable images Currently, only the image load/store tests use mutable images, but these require the images's layout to be VK_IMAGE_LAYOUT_GENERAL (requirement for image load/store) so they don't provide coverage for the most interesting scenarios. These tests add cases that mix combined image upload/download methods that exercise various other image layouts and scenarios. Specifically, it tests each of [copy, clear, draw, store] upload methods with each of [copy, load, texture] download methods. Components: Vulkan VK-GL-CTS issue: 513 New Tests: dEQP-VK.image.mutable.* Change-Id: I01cd77ab250f9934e71f5c9997b850950c9bd552 (cherry picked from commit 16b30ca0f65fc9c6a1508d1f99ba1f6014f4e828) --- Android.mk | 1 + android/cts/master/vk-master.txt | 3024 ++++++++++++++++++++ .../vulkancts/modules/vulkan/image/CMakeLists.txt | 2 + .../modules/vulkan/image/vktImageMutableTests.cpp | 1790 ++++++++++++ .../modules/vulkan/image/vktImageMutableTests.hpp | 41 + .../modules/vulkan/image/vktImageTests.cpp | 2 + external/vulkancts/mustpass/1.0.2/vk-default.txt | 3024 ++++++++++++++++++++ 7 files changed, 7884 insertions(+) create mode 100644 external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp create mode 100644 external/vulkancts/modules/vulkan/image/vktImageMutableTests.hpp diff --git a/Android.mk b/Android.mk index 34e51a4..881484f 100644 --- a/Android.mk +++ b/Android.mk @@ -782,6 +782,7 @@ LOCAL_SRC_FILES := \ external/vulkancts/modules/vulkan/image/vktImageLoadStoreTests.cpp \ external/vulkancts/modules/vulkan/image/vktImageLoadStoreUtil.cpp \ external/vulkancts/modules/vulkan/image/vktImageMultisampleLoadStoreTests.cpp \ + external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp \ external/vulkancts/modules/vulkan/image/vktImageQualifiersTests.cpp \ external/vulkancts/modules/vulkan/image/vktImageSizeTests.cpp \ external/vulkancts/modules/vulkan/image/vktImageTests.cpp \ diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 59ae7a2..181478c 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -172492,6 +172492,3030 @@ dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.sample dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.samples_16 dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.samples_32 dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.samples_64 +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_texture dEQP-VK.image.format_reinterpret.1d.r32g32b32a32_sfloat_r32g32b32a32_uint dEQP-VK.image.format_reinterpret.1d.r32g32b32a32_sfloat_r32g32b32a32_sint dEQP-VK.image.format_reinterpret.1d.r16g16b16a16_sfloat_r16g16b16a16_uint diff --git a/external/vulkancts/modules/vulkan/image/CMakeLists.txt b/external/vulkancts/modules/vulkan/image/CMakeLists.txt index 8e26830..4d01c91 100644 --- a/external/vulkancts/modules/vulkan/image/CMakeLists.txt +++ b/external/vulkancts/modules/vulkan/image/CMakeLists.txt @@ -9,6 +9,8 @@ set(DEQP_VK_IMAGE_SRCS vktImageAtomicOperationTests.hpp vktImageLoadStoreTests.cpp vktImageLoadStoreTests.hpp + vktImageMutableTests.cpp + vktImageMutableTests.hpp vktImageQualifiersTests.cpp vktImageQualifiersTests.hpp vktImageSizeTests.cpp diff --git a/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp new file mode 100644 index 0000000..fc322f5 --- /dev/null +++ b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.cpp @@ -0,0 +1,1790 @@ +/*------------------------------------------------------------------------ + * 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 + * \brief Tests for mutable images + *//*--------------------------------------------------------------------*/ + +#include "vktImageMutableTests.hpp" +#include "vktTestCaseUtil.hpp" +#include "vktImageTexture.hpp" + +#include "vkBuilderUtil.hpp" +#include "vkQueryUtil.hpp" +#include "vkImageUtil.hpp" + +#include "deUniquePtr.hpp" +#include "deSharedPtr.hpp" + +#include "tcuImageCompare.hpp" +#include "tcuTestLog.hpp" +#include "tcuTextureUtil.hpp" + +#include +#include + +using namespace vk; +using namespace tcu; + +using de::UniquePtr; +using de::MovePtr; +using de::SharedPtr; +using std::vector; + +namespace vkt +{ +namespace image +{ + +typedef SharedPtr > SharedPtrVkPipeline; +typedef SharedPtr > SharedPtrVkImageView; + +template +inline SharedPtr > makeSharedPtr (Move move) +{ + return SharedPtr >(new Unique(move)); +} + +enum Upload { + UPLOAD_CLEAR = 0, + UPLOAD_COPY, + UPLOAD_STORE, + UPLOAD_DRAW, + UPLOAD_LAST +}; + +enum Download { + DOWNLOAD_COPY = 0, + DOWNLOAD_LOAD, + DOWNLOAD_TEXTURE, + DOWNLOAD_LAST +}; + +std::string getUploadString (const int upload) +{ + const char* strs[] = { "clear", "copy", "store", "draw" }; + return strs[upload]; +} + +std::string getDownloadString (const int download) +{ + const char* strs[] = { "copy", "load", "texture" }; + return strs[download]; +} + +struct CaseDef +{ + ImageType imageType; + IVec3 size; + deUint32 numLayers; + VkFormat imageFormat; + VkFormat viewFormat; + enum Upload upload; + enum Download download; +}; + +static const deUint32 COLOR_TABLE_SIZE = 4; + +// Reference color values for float color rendering. Values have been chosen +// so that when the bit patterns are reinterpreted as a 16-bit float, we do not +// run into NaN / inf / denorm values. +static const Vec4 COLOR_TABLE_FLOAT[COLOR_TABLE_SIZE] = +{ + Vec4(0.00f, 0.40f, 0.80f, 0.10f), + Vec4(0.10f, 0.50f, 0.90f, 0.20f), + Vec4(0.20f, 0.60f, 1.00f, 0.30f), + Vec4(0.30f, 0.70f, 0.00f, 0.40f), +}; + +// Reference color values for integer color rendering. We avoid negative +// values (even for SINT formats) to avoid the situation where sign extension +// leads to NaN / inf values when they are reinterpreted with a float +// format. +static const IVec4 COLOR_TABLE_INT[COLOR_TABLE_SIZE] = +{ + IVec4(112, 60, 101, 41), + IVec4( 60, 101, 41, 112), + IVec4( 41, 112, 60, 101), + IVec4(101, 41, 112, 60), +}; + +// Reference clear colors created from the color table values +static const VkClearValue REFERENCE_CLEAR_COLOR_FLOAT[COLOR_TABLE_SIZE] = +{ + makeClearValueColorF32(COLOR_TABLE_FLOAT[0].x(), COLOR_TABLE_FLOAT[0].y(), COLOR_TABLE_FLOAT[0].z(), COLOR_TABLE_FLOAT[0].w()), + makeClearValueColorF32(COLOR_TABLE_FLOAT[1].x(), COLOR_TABLE_FLOAT[1].y(), COLOR_TABLE_FLOAT[1].z(), COLOR_TABLE_FLOAT[1].w()), + makeClearValueColorF32(COLOR_TABLE_FLOAT[2].x(), COLOR_TABLE_FLOAT[2].y(), COLOR_TABLE_FLOAT[2].z(), COLOR_TABLE_FLOAT[2].w()), + makeClearValueColorF32(COLOR_TABLE_FLOAT[3].x(), COLOR_TABLE_FLOAT[3].y(), COLOR_TABLE_FLOAT[3].z(), COLOR_TABLE_FLOAT[3].w()), +}; + +static const VkClearValue REFERENCE_CLEAR_COLOR_INT[COLOR_TABLE_SIZE] = +{ + makeClearValueColorI32(COLOR_TABLE_INT[0].x(), COLOR_TABLE_INT[0].y(), COLOR_TABLE_INT[0].z(), COLOR_TABLE_INT[0].w()), + makeClearValueColorI32(COLOR_TABLE_INT[1].x(), COLOR_TABLE_INT[1].y(), COLOR_TABLE_INT[1].z(), COLOR_TABLE_INT[1].w()), + makeClearValueColorI32(COLOR_TABLE_INT[2].x(), COLOR_TABLE_INT[2].y(), COLOR_TABLE_INT[2].z(), COLOR_TABLE_INT[2].w()), + makeClearValueColorI32(COLOR_TABLE_INT[3].x(), COLOR_TABLE_INT[3].y(), COLOR_TABLE_INT[3].z(), COLOR_TABLE_INT[3].w()), +}; + +static const Texture s_textures[] = +{ + Texture(IMAGE_TYPE_2D, tcu::IVec3(32, 32, 1), 1), + Texture(IMAGE_TYPE_2D_ARRAY, tcu::IVec3(32, 32, 1), 4), +}; + +VkImageType getImageType (const ImageType textureImageType) +{ + switch (textureImageType) + { + case IMAGE_TYPE_2D: + case IMAGE_TYPE_2D_ARRAY: + return VK_IMAGE_TYPE_2D; + + default: + DE_ASSERT(0); + return VK_IMAGE_TYPE_LAST; + } +} + +VkImageViewType getImageViewType (const ImageType textureImageType) +{ + switch (textureImageType) + { + case IMAGE_TYPE_2D: + return VK_IMAGE_VIEW_TYPE_2D; + case IMAGE_TYPE_2D_ARRAY: + return VK_IMAGE_VIEW_TYPE_2D_ARRAY; + + default: + DE_ASSERT(0); + return VK_IMAGE_VIEW_TYPE_LAST; + } +} + +static const VkFormat s_formats[] = +{ + VK_FORMAT_R32G32B32A32_SFLOAT, + VK_FORMAT_R16G16B16A16_SFLOAT, + VK_FORMAT_R32G32_SFLOAT, + VK_FORMAT_R16G16_SFLOAT, + VK_FORMAT_R32_SFLOAT, + + VK_FORMAT_R32G32B32A32_UINT, + VK_FORMAT_R16G16B16A16_UINT, + VK_FORMAT_R8G8B8A8_UINT, + VK_FORMAT_R32G32_UINT, + VK_FORMAT_R16G16_UINT, + VK_FORMAT_R32_UINT, + + VK_FORMAT_R32G32B32A32_SINT, + VK_FORMAT_R16G16B16A16_SINT, + VK_FORMAT_R8G8B8A8_SINT, + VK_FORMAT_R32G32_SINT, + VK_FORMAT_R16G16_SINT, + VK_FORMAT_R32_SINT, + + VK_FORMAT_R8G8B8A8_UNORM, + + VK_FORMAT_R8G8B8A8_SNORM, +}; + +inline bool formatsAreCompatible (const VkFormat format0, const VkFormat format1) +{ + return format0 == format1 || mapVkFormat(format0).getPixelSize() == mapVkFormat(format1).getPixelSize(); +} + +std::string getColorFormatStr (const int numComponents, const bool isUint, const bool isSint) +{ + std::ostringstream str; + if (numComponents == 1) + str << (isUint ? "uint" : isSint ? "int" : "float"); + else + str << (isUint ? "u" : isSint ? "i" : "") << "vec" << numComponents; + + return str.str(); +} + +std::string getShaderSamplerType (const tcu::TextureFormat& format, VkImageViewType type) +{ + std::ostringstream samplerType; + + if (tcu::getTextureChannelClass(format.type) == tcu::TEXTURECHANNELCLASS_UNSIGNED_INTEGER) + samplerType << "u"; + else if (tcu::getTextureChannelClass(format.type) == tcu::TEXTURECHANNELCLASS_SIGNED_INTEGER) + samplerType << "i"; + + switch (type) + { + case VK_IMAGE_VIEW_TYPE_2D: + samplerType << "sampler2D"; + break; + + case VK_IMAGE_VIEW_TYPE_2D_ARRAY: + samplerType << "sampler2DArray"; + break; + + default: + DE_FATAL("Ivalid image view type"); + break; + } + + return samplerType.str(); +} + +void initPrograms (SourceCollections& programCollection, const CaseDef caseDef) +{ + if (caseDef.upload == UPLOAD_DRAW) + { + { + std::ostringstream src; + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n" + << "\n" + << "layout(location = 0) in vec4 in_position;\n" + << "layout(location = 1) in vec4 in_color;\n" + << "layout(location = 0) out vec4 out_color;\n" + << "\n" + << "out gl_PerVertex {\n" + << " vec4 gl_Position;\n" + << "};\n" + << "\n" + << "void main(void)\n" + << "{\n" + << " gl_Position = in_position;\n" + << " out_color = in_color;\n" + << "}\n"; + + programCollection.glslSources.add("uploadDrawVert") << glu::VertexSource(src.str()); + } + + { + const int numComponents = getNumUsedChannels(mapVkFormat(caseDef.viewFormat).order); + const bool isUint = isUintFormat(caseDef.viewFormat); + const bool isSint = isIntFormat(caseDef.viewFormat); + const std::string colorFormat = getColorFormatStr(numComponents, isUint, isSint); + + std::ostringstream src; + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n" + << "\n" + << "layout(location = 0) in vec4 in_color;\n" + << "layout(location = 0) out " << colorFormat << " out_color;\n" + << "\n" + << "void main(void)\n" + << "{\n" + << " out_color = " << colorFormat << "(" + << (numComponents == 1 ? "in_color.r" : + numComponents == 2 ? "in_color.rg" : + numComponents == 3 ? "in_color.rgb" : "in_color") + << ");\n" + << "}\n"; + + programCollection.glslSources.add("uploadDrawFrag") << glu::FragmentSource(src.str()); + } + } + + if (caseDef.upload == UPLOAD_STORE) + { + const TextureFormat tcuFormat = mapVkFormat(caseDef.viewFormat); + const std::string imageFormatStr = getShaderImageFormatQualifier(tcuFormat); + const std::string imageTypeStr = getShaderImageType(tcuFormat, caseDef.imageType); + const std::string colorTypeStr = isUintFormat(caseDef.viewFormat) ? "uvec4" : isIntFormat(caseDef.viewFormat) ? "ivec4" : "vec4"; + const bool isIntegerFormat = isUintFormat(caseDef.viewFormat) || isIntFormat(caseDef.viewFormat); + + std::ostringstream src; + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n" + << "\n" + << "layout (local_size_x = 1) in;\n" + << "\n" + << "layout(binding=0, " << imageFormatStr << ") writeonly uniform " << imageTypeStr << " u_image;\n" + << "\n" + << "const " << colorTypeStr << " colorTable[] = " << colorTypeStr << "[](\n"; + for (deUint32 idx = 0; idx < COLOR_TABLE_SIZE; idx++) + { + if (isIntegerFormat) + src << " " << colorTypeStr << "(" << COLOR_TABLE_INT[idx].x() << ", " << COLOR_TABLE_INT[idx].y() << ", " << COLOR_TABLE_INT[idx].z() << ", " << COLOR_TABLE_INT[idx].w() << ")"; + else + src << " " << colorTypeStr << "(" << COLOR_TABLE_FLOAT[idx].x() << ", " << COLOR_TABLE_FLOAT[idx].y() << ", " << COLOR_TABLE_FLOAT[idx].z() << ", " << COLOR_TABLE_FLOAT[idx].w() << ")"; + if (idx < COLOR_TABLE_SIZE - 1) + src << ","; + src << "\n"; + } + src << ");\n" + << "\n" + << "void main(void)\n" + << "{\n"; + if (caseDef.imageType == IMAGE_TYPE_2D) + { + src << " ivec2 pos = ivec2(gl_GlobalInvocationID.xy);\n"; + } + else + { + DE_ASSERT(caseDef.imageType == IMAGE_TYPE_2D_ARRAY); + src << " ivec3 pos = ivec3(gl_GlobalInvocationID.xyz);\n"; + } + src << " " << colorTypeStr << " color = colorTable[gl_GlobalInvocationID.z];\n" + << " imageStore(u_image, pos, color);\n" + << "}\n"; + + programCollection.glslSources.add("uploadStoreComp") << glu::ComputeSource(src.str()); + } + + if (caseDef.download == DOWNLOAD_LOAD) + { + const TextureFormat tcuFormat = mapVkFormat(caseDef.viewFormat); + const std::string imageFormatStr = getShaderImageFormatQualifier(tcuFormat); + const std::string imageTypeStr = getShaderImageType(tcuFormat, caseDef.imageType); + const std::string colorTypeStr = isUintFormat(caseDef.viewFormat) ? "uvec4" : isIntFormat(caseDef.viewFormat) ? "ivec4" : "vec4"; + + std::ostringstream src; + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n" + << "\n" + << "layout (local_size_x = 1) in;\n" + << "\n" + << "layout(binding=0, " << imageFormatStr << ") readonly uniform " << imageTypeStr << " in_image;\n" + << "layout(binding=1, " << imageFormatStr << ") writeonly uniform " << imageTypeStr << " out_image;\n" + << "\n" + << "void main(void)\n" + << "{\n"; + if (caseDef.imageType == IMAGE_TYPE_2D) + { + src << " ivec2 pos = ivec2(gl_GlobalInvocationID.xy);\n"; + } + else + { + DE_ASSERT(caseDef.imageType == IMAGE_TYPE_2D_ARRAY); + src << " ivec3 pos = ivec3(gl_GlobalInvocationID.xyz);\n"; + } + src << " imageStore(out_image, pos, imageLoad(in_image, pos));\n" + << "}\n"; + + programCollection.glslSources.add("downloadLoadComp") << glu::ComputeSource(src.str()); + } + + if (caseDef.download == DOWNLOAD_TEXTURE) + { + const TextureFormat tcuFormat = mapVkFormat(caseDef.viewFormat); + const VkImageViewType viewType = getImageViewType(caseDef.imageType); + const std::string samplerTypeStr = getShaderSamplerType(tcuFormat, viewType); + const std::string imageFormatStr = getShaderImageFormatQualifier(tcuFormat); + const std::string imageTypeStr = getShaderImageType(tcuFormat, caseDef.imageType); + const std::string colorTypeStr = isUintFormat(caseDef.viewFormat) ? "uvec4" : isIntFormat(caseDef.viewFormat) ? "ivec4" : "vec4"; + + std::ostringstream src; + src << glu::getGLSLVersionDeclaration(glu::GLSL_VERSION_450) << "\n" + << "\n" + << "layout (local_size_x = 1) in;\n" + << "\n" + << "layout(binding=0) uniform " << samplerTypeStr << " u_tex;\n" + << "layout(binding=1, " << imageFormatStr << ") writeonly uniform " << imageTypeStr << " out_image;\n" + << "\n" + << "void main(void)\n" + << "{\n"; + if (caseDef.imageType == IMAGE_TYPE_2D) + { + src << " ivec2 pos = ivec2(gl_GlobalInvocationID.xy);\n"; + } + else + { + DE_ASSERT(caseDef.imageType == IMAGE_TYPE_2D_ARRAY); + src << " ivec3 pos = ivec3(gl_GlobalInvocationID.xyz);\n"; + } + src << " imageStore(out_image, pos, texelFetch(u_tex, pos, 0));\n" + << "}\n"; + + programCollection.glslSources.add("downloadTextureComp") << glu::ComputeSource(src.str()); + } +} + +Move makeImage (const DeviceInterface& vk, + const VkDevice device, + VkImageCreateFlags flags, + VkImageType imageType, + const VkFormat format, + const IVec3& size, + const deUint32 numMipLevels, + const deUint32 numLayers, + const VkImageUsageFlags usage) +{ + const VkImageCreateInfo imageParams = + { + VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + flags, // VkImageCreateFlags flags; + imageType, // VkImageType imageType; + format, // VkFormat format; + makeExtent3D(size), // VkExtent3D extent; + numMipLevels, // deUint32 mipLevels; + numLayers, // deUint32 arrayLayers; + VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples; + VK_IMAGE_TILING_OPTIMAL, // VkImageTiling tiling; + usage, // VkImageUsageFlags usage; + VK_SHARING_MODE_EXCLUSIVE, // VkSharingMode sharingMode; + 0u, // deUint32 queueFamilyIndexCount; + DE_NULL, // const deUint32* pQueueFamilyIndices; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout; + }; + return createImage(vk, device, &imageParams); +} + +inline Move makeBuffer (const DeviceInterface& vk, const VkDevice device, const VkDeviceSize bufferSize, const VkBufferUsageFlags usage) +{ + const VkBufferCreateInfo bufferCreateInfo = makeBufferCreateInfo(bufferSize, usage); + return createBuffer(vk, device, &bufferCreateInfo); +} + +inline VkImageSubresourceRange makeColorSubresourceRange (const int baseArrayLayer, const int layerCount) +{ + return makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, static_cast(baseArrayLayer), static_cast(layerCount)); +} + +Move makeSampler (const DeviceInterface& vk, const VkDevice device) +{ + const VkSamplerCreateInfo samplerParams = + { + VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkSamplerCreateFlags)0, // 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_FALSE, // VkBool32 compareEnable; + VK_COMPARE_OP_ALWAYS, // VkCompareOp compareOp; + 0.0f, // float minLod; + 0.0f, // float maxLod; + VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK, // VkBorderColor borderColor; + VK_FALSE, // VkBool32 unnormalizedCoordinates; + }; + + return createSampler(vk, device, &samplerParams); +} + + +Move makePipelineLayout (const DeviceInterface& vk, + const VkDevice device) +{ + const VkPipelineLayoutCreateInfo info = + { + VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO, + DE_NULL, + (VkPipelineLayoutCreateFlags)0, + 0u, + DE_NULL, + 0u, + DE_NULL, + }; + return createPipelineLayout(vk, device, &info); +} + +Move makeGraphicsPipeline (const DeviceInterface& vk, + const VkDevice device, + const VkPipelineLayout pipelineLayout, + const VkRenderPass renderPass, + const VkShaderModule vertexModule, + const VkShaderModule fragmentModule, + const IVec2& renderSize, + const VkPrimitiveTopology topology, + const deUint32 subpass) +{ + const VkVertexInputBindingDescription vertexInputBindingDescription = + { + 0u, // uint32_t binding; + (uint32_t)(2 * sizeof(Vec4)), // uint32_t stride; + VK_VERTEX_INPUT_RATE_VERTEX, // VkVertexInputRate inputRate; + }; + + const VkVertexInputAttributeDescription vertexInputAttributeDescriptions[] = + { + { + 0u, // uint32_t location; + 0u, // uint32_t binding; + VK_FORMAT_R32G32B32A32_SFLOAT, // VkFormat format; + 0u, // uint32_t offset; + }, + { + 1u, // uint32_t location; + 0u, // uint32_t binding; + VK_FORMAT_R32G32B32A32_SFLOAT, // VkFormat format; + (uint32_t)sizeof(Vec4), // uint32_t 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; + &vertexInputBindingDescription, // 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; + topology, // VkPrimitiveTopology topology; + VK_FALSE, // VkBool32 primitiveRestartEnable; + }; + + const VkViewport viewport = makeViewport( + 0.0f, 0.0f, + static_cast(renderSize.x()), static_cast(renderSize.y()), + 0.0f, 1.0f); + + const VkRect2D scissor = + { + makeOffset2D(0, 0), + makeExtent2D(renderSize.x(), renderSize.y()), + }; + + 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, // const VkViewport* pViewports; + 1u, // uint32_t scissorCount; + &scissor, // 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 VkStencilOpState stencilOpState = makeStencilOpState( + VK_STENCIL_OP_KEEP, // stencil fail + VK_STENCIL_OP_ZERO, // depth & stencil pass + VK_STENCIL_OP_KEEP, // depth only fail + VK_COMPARE_OP_EQUAL, // compare op + ~0u, // compare mask + ~0u, // write mask + 0u); // reference + + VkPipelineDepthStencilStateCreateInfo pipelineDepthStencilStateInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineDepthStencilStateCreateFlags)0, // VkPipelineDepthStencilStateCreateFlags flags; + VK_FALSE, // VkBool32 depthTestEnable; + VK_FALSE, // VkBool32 depthWriteEnable; + VK_COMPARE_OP_LESS, // VkCompareOp depthCompareOp; + VK_FALSE, // VkBool32 depthBoundsTestEnable; + VK_FALSE, // VkBool32 stencilTestEnable; + stencilOpState, // VkStencilOpState front; + stencilOpState, // VkStencilOpState back; + 0.0f, // float minDepthBounds; + 1.0f, // float maxDepthBounds; + }; + + 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 pipelineColorBlendAttachmentState = + { + 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; + }; + + 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; + 1u, // deUint32 attachmentCount; + &pipelineColorBlendAttachmentState, // 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 VkGraphicsPipelineCreateInfo graphicsPipelineInfo = + { + VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + 0u, // VkPipelineCreateFlags flags; + DE_LENGTH_OF_ARRAY(pShaderStages), // 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; + &pipelineDepthStencilStateInfo, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; + &pipelineColorBlendStateInfo, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState; + DE_NULL, // const VkPipelineDynamicStateCreateInfo* pDynamicState; + pipelineLayout, // VkPipelineLayout layout; + renderPass, // VkRenderPass renderPass; + subpass, // deUint32 subpass; + DE_NULL, // VkPipeline basePipelineHandle; + 0, // deInt32 basePipelineIndex; + }; + + return createGraphicsPipeline(vk, device, DE_NULL, &graphicsPipelineInfo); +} + +Move makeComputePipeline (const DeviceInterface& vk, + const VkDevice device, + const VkPipelineLayout pipelineLayout, + const VkShaderModule shaderModule, + const VkSpecializationInfo* specInfo) +{ + const VkPipelineShaderStageCreateInfo shaderStageInfo = + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineShaderStageCreateFlags)0, // VkPipelineShaderStageCreateFlags flags; + VK_SHADER_STAGE_COMPUTE_BIT, // VkShaderStageFlagBits stage; + shaderModule, // VkShaderModule module; + "main", // const char* pName; + specInfo, // const VkSpecializationInfo* pSpecializationInfo; + }; + const VkComputePipelineCreateInfo pipelineInfo = + { + VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkPipelineCreateFlags)0, // VkPipelineCreateFlags flags; + shaderStageInfo, // VkPipelineShaderStageCreateInfo stage; + pipelineLayout, // VkPipelineLayout layout; + DE_NULL, // VkPipeline basePipelineHandle; + 0, // deInt32 basePipelineIndex; + }; + return createComputePipeline(vk, device, DE_NULL , &pipelineInfo); +} + +Move makeRenderPass (const DeviceInterface& vk, + const VkDevice device, + const VkFormat colorFormat, + const deUint32 numLayers) +{ + const VkAttachmentDescription 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; + }; + vector attachmentDescriptions(numLayers, colorAttachmentDescription); + + // Create a subpass for each attachment (each attachement is a layer of an arrayed image). + vector colorAttachmentReferences (numLayers); + vector subpasses; + + // Ordering here must match the framebuffer attachments + for (deUint32 i = 0; i < numLayers; ++i) + { + const VkAttachmentReference attachmentRef = + { + i, // deUint32 attachment; + VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL // VkImageLayout layout; + }; + + colorAttachmentReferences[i] = attachmentRef; + + const VkSubpassDescription subpassDescription = + { + (VkSubpassDescriptionFlags)0, // VkSubpassDescriptionFlags flags; + VK_PIPELINE_BIND_POINT_GRAPHICS, // VkPipelineBindPoint pipelineBindPoint; + 0u, // deUint32 inputAttachmentCount; + DE_NULL, // const VkAttachmentReference* pInputAttachments; + 1u, // deUint32 colorAttachmentCount; + &colorAttachmentReferences[i], // const VkAttachmentReference* pColorAttachments; + DE_NULL, // const VkAttachmentReference* pResolveAttachments; + DE_NULL, // const VkAttachmentReference* pDepthStencilAttachment; + 0u, // deUint32 preserveAttachmentCount; + DE_NULL // const deUint32* pPreserveAttachments; + }; + subpasses.push_back(subpassDescription); + } + + const VkRenderPassCreateInfo renderPassInfo = + { + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkRenderPassCreateFlags)0, // VkRenderPassCreateFlags flags; + static_cast(attachmentDescriptions.size()), // deUint32 attachmentCount; + &attachmentDescriptions[0], // const VkAttachmentDescription* pAttachments; + static_cast(subpasses.size()), // deUint32 subpassCount; + &subpasses[0], // const VkSubpassDescription* pSubpasses; + 0u, // deUint32 dependencyCount; + DE_NULL // const VkSubpassDependency* pDependencies; + }; + + return createRenderPass(vk, device, &renderPassInfo); +} + +Move makeFramebuffer (const DeviceInterface& vk, + const VkDevice device, + const VkRenderPass renderPass, + const deUint32 attachmentCount, + const VkImageView* pAttachments, + const IVec2 size) +{ + const VkFramebufferCreateInfo framebufferInfo = + { + VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO, + DE_NULL, + (VkFramebufferCreateFlags)0, + renderPass, + attachmentCount, + pAttachments, + static_cast(size.x()), + static_cast(size.y()), + 1u, + }; + + return createFramebuffer(vk, device, &framebufferInfo); +} + +Move makeCommandBuffer (const DeviceInterface& vk, const VkDevice device, const VkCommandPool commandPool) +{ + return allocateCommandBuffer(vk, device, commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY); +} + +MovePtr bindImage (const DeviceInterface& vk, const VkDevice device, Allocator& allocator, const VkImage image, const MemoryRequirement requirement) +{ + MovePtr alloc = allocator.allocate(getImageMemoryRequirements(vk, device, image), requirement); + VK_CHECK(vk.bindImageMemory(device, image, alloc->getMemory(), alloc->getOffset())); + return alloc; +} + +MovePtr bindBuffer (const DeviceInterface& vk, const VkDevice device, Allocator& allocator, const VkBuffer buffer, const MemoryRequirement requirement) +{ + MovePtr alloc(allocator.allocate(getBufferMemoryRequirements(vk, device, buffer), requirement)); + VK_CHECK(vk.bindBufferMemory(device, buffer, alloc->getMemory(), alloc->getOffset())); + return alloc; +} + +vector genVertexData (const CaseDef& caseDef) +{ + vector vectorData; + const bool isIntegerFormat = isUintFormat(caseDef.viewFormat) || isIntFormat(caseDef.viewFormat); + + for (deUint32 z = 0; z < caseDef.numLayers; z++) + { + const deUint32 colorIdx = z % COLOR_TABLE_SIZE; + const Vec4 color = isIntegerFormat ? COLOR_TABLE_INT[colorIdx].cast() : COLOR_TABLE_FLOAT[colorIdx]; + + vectorData.push_back(Vec4(-1.0f, -1.0f, 0.0f, 1.0f)); + vectorData.push_back(color); + vectorData.push_back(Vec4(-1.0f, 1.0f, 0.0f, 1.0f)); + vectorData.push_back(color); + vectorData.push_back(Vec4( 1.0f, -1.0f, 0.0f, 1.0f)); + vectorData.push_back(color); + vectorData.push_back(Vec4( 1.0f, 1.0f, 0.0f, 1.0f)); + vectorData.push_back(color); + } + + return vectorData; +} + +void generateExpectedImage(const tcu::PixelBufferAccess& image, const CaseDef& caseDef) +{ + const tcu::TextureChannelClass channelClass = tcu::getTextureChannelClass(image.getFormat().type); + const bool isIntegerFormat = channelClass == tcu::TEXTURECHANNELCLASS_SIGNED_INTEGER || channelClass == tcu::TEXTURECHANNELCLASS_UNSIGNED_INTEGER; + const IVec2 size = caseDef.size.swizzle(0, 1); + + for (int z = 0; z < static_cast(caseDef.numLayers); z++) + { + const deUint32 colorIdx = z % COLOR_TABLE_SIZE; + for (int y = 0; y < size.y(); y++) + for (int x = 0; x < size.x(); x++) + { + if (isIntegerFormat) + image.setPixel(COLOR_TABLE_INT[colorIdx], x, y, z); + else + image.setPixel(COLOR_TABLE_FLOAT[colorIdx], x, y, z); + } + } +} + +VkImageUsageFlags getImageUsageForTestCase (const CaseDef& caseDef) +{ + VkImageUsageFlags flags = 0u; + + switch (caseDef.upload) + { + case UPLOAD_CLEAR: + flags |= VK_IMAGE_USAGE_TRANSFER_DST_BIT; + break; + case UPLOAD_DRAW: + flags |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + break; + case UPLOAD_STORE: + flags |= VK_IMAGE_USAGE_STORAGE_BIT; + break; + case UPLOAD_COPY: + flags |= VK_IMAGE_USAGE_TRANSFER_DST_BIT; + break; + default: + DE_ASSERT("Invalid upload method"); + break; + } + + switch (caseDef.download) + { + case DOWNLOAD_TEXTURE: + flags |= VK_IMAGE_USAGE_SAMPLED_BIT; + break; + case DOWNLOAD_LOAD: + flags |= VK_IMAGE_USAGE_STORAGE_BIT; + break; + case DOWNLOAD_COPY: + flags |= VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + break; + default: + DE_ASSERT("Invalid download method"); + break; + } + + // We can only create a view for the image if it is going to be used for any of these usages, + // so let's make sure that we have at least one of them. + VkImageUsageFlags viewRequiredFlags = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + if (!(flags & viewRequiredFlags)) + flags |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + + return flags; +} + +// Executes a combination of upload/download methods +class UploadDownloadExecutor +{ +public: + UploadDownloadExecutor(Context &context, const CaseDef& caseSpec) : + m_caseDef(caseSpec), + m_haveMaintenance2(de::contains(context.getDeviceExtensions().begin(), context.getDeviceExtensions().end(), "VK_KHR_maintenance2")), + m_vk(context.getDeviceInterface()), + m_device(context.getDevice()), + m_queue(context.getUniversalQueue()), + m_queueFamilyIndex(context.getUniversalQueueFamilyIndex()), + m_allocator(context.getDefaultAllocator()) + { + } + + void run(Context& context, VkBuffer buffer); + +private: + void uploadClear(Context& context); + void uploadStore(Context& context); + void uploadCopy(Context& context); + void uploadDraw(Context& context); + void downloadCopy(Context& context, VkBuffer buffer); + void downloadTexture(Context& context, VkBuffer buffer); + void downloadLoad(Context& context, VkBuffer buffer); + + void copyImageToBuffer(VkImage image, + VkBuffer buffer, + const IVec3 size, + const VkAccessFlags srcAccessMask, + const VkImageLayout oldLayout, + const deUint32 numLayers); + + const CaseDef& m_caseDef; + + bool m_haveMaintenance2; + + const DeviceInterface& m_vk; + const VkDevice m_device; + const VkQueue m_queue; + const deUint32 m_queueFamilyIndex; + Allocator& m_allocator; + + Move m_cmdPool; + Move m_cmdBuffer; + + bool m_imageIsIntegerFormat; + bool m_viewIsIntegerFormat; + + // Target image for upload paths + Move m_image; + MovePtr m_imageAlloc; + + // Upload copy + struct + { + Move colorBuffer; + VkDeviceSize colorBufferSize; + MovePtr colorBufferAlloc; + } m_uCopy; + + // Upload draw + struct + { + Move vertexBuffer; + MovePtr vertexBufferAlloc; + Move pipelineLayout; + Move renderPass; + Move vertexModule; + Move fragmentModule; + vector attachments; + vector attachmentHandles; + vector pipelines; + Move framebuffer; + } m_uDraw; + + // Upload store + struct + { + Move descriptorPool; + Move pipelineLayout; + Move descriptorSetLayout; + Move descriptorSet; + VkDescriptorImageInfo imageDescriptorInfo; + Move computeModule; + Move computePipeline; + Move imageView; + } m_uStore; + + // Download load + struct + { + Move descriptorPool; + Move pipelineLayout; + Move descriptorSetLayout; + Move descriptorSet; + Move computeModule; + Move computePipeline; + Move inImageView; + VkDescriptorImageInfo inImageDescriptorInfo; + Move outImage; + Move outImageView; + MovePtr outImageAlloc; + VkDescriptorImageInfo outImageDescriptorInfo; + } m_dLoad; + + // Download texture + struct + { + Move descriptorPool; + Move pipelineLayout; + Move descriptorSetLayout; + Move descriptorSet; + Move computeModule; + Move computePipeline; + Move inImageView; + VkDescriptorImageInfo inImageDescriptorInfo; + Move sampler; + Move outImage; + Move outImageView; + MovePtr outImageAlloc; + VkDescriptorImageInfo outImageDescriptorInfo; + } m_dTex; + + VkImageLayout m_imageLayoutAfterUpload; + VkAccessFlagBits m_imageUploadAccessMask; +}; + +void UploadDownloadExecutor::run(Context& context, VkBuffer buffer) +{ + m_imageIsIntegerFormat = isUintFormat(m_caseDef.imageFormat) || isIntFormat(m_caseDef.imageFormat); + m_viewIsIntegerFormat = isUintFormat(m_caseDef.viewFormat) || isIntFormat(m_caseDef.viewFormat); + + m_cmdPool = createCommandPool(m_vk, m_device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, m_queueFamilyIndex); + m_cmdBuffer = makeCommandBuffer(m_vk, m_device, *m_cmdPool); + beginCommandBuffer(m_vk, *m_cmdBuffer); + + const VkImageUsageFlags imageUsage = getImageUsageForTestCase(m_caseDef); + const VkImageCreateFlags imageFlags = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | (m_haveMaintenance2 ? VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR : 0); + m_image = makeImage(m_vk, m_device, imageFlags, getImageType(m_caseDef.imageType), m_caseDef.imageFormat, m_caseDef.size, 1u, m_caseDef.numLayers, imageUsage); + m_imageAlloc = bindImage(m_vk, m_device, m_allocator, *m_image, MemoryRequirement::Any); + + switch (m_caseDef.upload) + { + case UPLOAD_DRAW: + uploadDraw(context); + break; + case UPLOAD_STORE: + uploadStore(context); + break; + case UPLOAD_CLEAR: + uploadClear(context); + break; + case UPLOAD_COPY: + uploadCopy(context); + break; + default: + DE_ASSERT("Unsupported upload method"); + } + + switch (m_caseDef.download) + { + case DOWNLOAD_COPY: + downloadCopy(context, buffer); + break; + case DOWNLOAD_LOAD: + downloadLoad(context, buffer); + break; + case DOWNLOAD_TEXTURE: + downloadTexture(context, buffer); + break; + default: + DE_ASSERT("Unsupported download method"); + } + + VK_CHECK(m_vk.endCommandBuffer(*m_cmdBuffer)); + submitCommandsAndWait(m_vk, m_device, m_queue, *m_cmdBuffer); +} + +void UploadDownloadExecutor::uploadClear(Context& context) +{ + (void) context; + + VkImageLayout requiredImageLayout = VK_IMAGE_LAYOUT_GENERAL; + + const VkImageSubresourceRange subresourceRange = makeColorSubresourceRange(0, m_caseDef.numLayers); + const VkImageMemoryBarrier imageInitBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + 0u, // VkAccessFlags srcAccessMask; + VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags dstAcessMask; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout; + requiredImageLayout, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_image, // VkImage image; + subresourceRange // VkImageSubresourceRange subresourceRange; + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0u, + 0u, DE_NULL, 0u, DE_NULL, 1u, &imageInitBarrier); + + for (deUint32 layer = 0; layer < m_caseDef.numLayers; layer++) + { + const VkImageSubresourceRange layerSubresourceRange = makeColorSubresourceRange(layer, 1u); + const deUint32 colorIdx = layer % COLOR_TABLE_SIZE; + const VkClearColorValue clearColor = m_imageIsIntegerFormat ? REFERENCE_CLEAR_COLOR_INT[colorIdx].color : REFERENCE_CLEAR_COLOR_FLOAT[colorIdx].color; + m_vk.cmdClearColorImage(*m_cmdBuffer, *m_image, requiredImageLayout, &clearColor, 1u, &layerSubresourceRange); + } + + m_imageLayoutAfterUpload = requiredImageLayout; + m_imageUploadAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; +} + +void UploadDownloadExecutor::uploadStore(Context& context) +{ + const vk::VkImageViewUsageCreateInfoKHR viewUsageCreateInfo = { + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, // VkStructureType sType + DE_NULL, // const void* pNext + VK_IMAGE_USAGE_STORAGE_BIT, // VkImageUsageFlags usage; + }; + m_uStore.imageView = makeImageView(m_vk, m_device, *m_image, getImageViewType(m_caseDef.imageType), m_caseDef.viewFormat, + makeColorSubresourceRange(0, m_caseDef.numLayers), m_haveMaintenance2 ? &viewUsageCreateInfo : DE_NULL); + + // Setup compute pipeline + m_uStore.descriptorPool = DescriptorPoolBuilder() + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) + .build(m_vk, m_device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u); + + m_uStore.descriptorSetLayout = DescriptorSetLayoutBuilder() + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT) + .build(m_vk, m_device); + + m_uStore.pipelineLayout = makePipelineLayout(m_vk, m_device, *m_uStore.descriptorSetLayout); + m_uStore.descriptorSet = makeDescriptorSet(m_vk, m_device, *m_uStore.descriptorPool, *m_uStore.descriptorSetLayout); + m_uStore.imageDescriptorInfo = makeDescriptorImageInfo(DE_NULL, *m_uStore.imageView, VK_IMAGE_LAYOUT_GENERAL); + m_uStore.computeModule = createShaderModule(m_vk, m_device, context.getBinaryCollection().get("uploadStoreComp"), 0); + m_uStore.computePipeline = makeComputePipeline(m_vk, m_device, *m_uStore.pipelineLayout, *m_uStore.computeModule, DE_NULL); + + DescriptorSetUpdateBuilder() + .writeSingle(*m_uStore.descriptorSet, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &m_uStore.imageDescriptorInfo) + .update(m_vk, m_device); + + // Transition storage image for shader access (imageStore) + VkImageLayout requiredImageLayout = VK_IMAGE_LAYOUT_GENERAL; + const VkImageMemoryBarrier imageBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkAccessFlags)0, // VkAccessFlags srcAccessMask; + (VkAccessFlags)VK_ACCESS_SHADER_WRITE_BIT, // VkAccessFlags dstAccessMask; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout; + requiredImageLayout, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_image, // VkImage image; + makeColorSubresourceRange(0, m_caseDef.numLayers), // VkImageSubresourceRange subresourceRange; + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0u, + 0u, DE_NULL, 0u, DE_NULL, 1u, &imageBarrier); + + // Dispatch + m_vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *m_uStore.computePipeline); + m_vk.cmdBindDescriptorSets(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *m_uStore.pipelineLayout, 0u, 1u, &m_uStore.descriptorSet.get(), 0u, DE_NULL); + m_vk.cmdDispatch(*m_cmdBuffer, m_caseDef.size.x(), m_caseDef.size.y(), m_caseDef.numLayers); + + m_imageLayoutAfterUpload = requiredImageLayout; + m_imageUploadAccessMask = VK_ACCESS_SHADER_WRITE_BIT; +} + +void UploadDownloadExecutor::uploadCopy(Context& context) +{ + (void) context; + + // Create a host-mappable buffer with the color data to upload + const VkDeviceSize pixelSize = tcu::getPixelSize(mapVkFormat(m_caseDef.imageFormat)); + const VkDeviceSize layerSize = m_caseDef.size.x() * m_caseDef.size.y() * m_caseDef.size.z() * pixelSize; + + m_uCopy.colorBufferSize = layerSize * m_caseDef.numLayers; + m_uCopy.colorBuffer = makeBuffer(m_vk, m_device, m_uCopy.colorBufferSize, VK_BUFFER_USAGE_TRANSFER_SRC_BIT); + m_uCopy.colorBufferAlloc = bindBuffer(m_vk, m_device, m_allocator, *m_uCopy.colorBuffer, MemoryRequirement::HostVisible); + + // Fill color buffer + const tcu::TextureFormat tcuFormat = mapVkFormat(m_caseDef.imageFormat); + VkDeviceSize layerOffset = 0ull; + for (deUint32 layer = 0; layer < m_caseDef.numLayers; layer++) + { + tcu::PixelBufferAccess imageAccess = tcu::PixelBufferAccess(tcuFormat, m_caseDef.size.x(), m_caseDef.size.y(), 1u, (deUint8*) m_uCopy.colorBufferAlloc->getHostPtr() + layerOffset); + const deUint32 colorIdx = layer % COLOR_TABLE_SIZE; + if (m_imageIsIntegerFormat) + tcu::clear(imageAccess, COLOR_TABLE_INT[colorIdx]); + else + tcu::clear(imageAccess, COLOR_TABLE_FLOAT[colorIdx]); + layerOffset += layerSize; + } + + flushMappedMemoryRange(m_vk, m_device, m_uCopy.colorBufferAlloc->getMemory(), m_uCopy.colorBufferAlloc->getOffset(), VK_WHOLE_SIZE); + + // Prepare buffer and image for copy + const VkBufferMemoryBarrier bufferInitBarrier = + { + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + VK_ACCESS_HOST_WRITE_BIT, // VkAccessFlags srcAccessMask; + VK_ACCESS_TRANSFER_READ_BIT, // VkAccessFlags dstAccessMask; + VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex; + *m_uCopy.colorBuffer, // VkBuffer buffer; + 0ull, // VkDeviceSize offset; + VK_WHOLE_SIZE, // VkDeviceSize size; + }; + + const VkImageMemoryBarrier imageInitBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + 0u, // VkAccessFlags outputMask; + VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags inputMask; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout; + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_image, // VkImage image; + makeColorSubresourceRange(0, m_caseDef.numLayers) // VkImageSubresourceRange subresourceRange; + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0u, + 0u, DE_NULL, 1u, &bufferInitBarrier, 1u, &imageInitBarrier); + + // Copy buffer to image + const VkImageSubresourceLayers subresource = + { + VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask; + 0u, // uint32_t mipLevel; + 0u, // uint32_t baseArrayLayer; + m_caseDef.numLayers, // uint32_t layerCount; + }; + + const VkBufferImageCopy region = + { + 0ull, // VkDeviceSize bufferOffset; + 0u, // uint32_t bufferRowLength; + 0u, // uint32_t bufferImageHeight; + subresource, // VkImageSubresourceLayers imageSubresource; + makeOffset3D(0, 0, 0), // VkOffset3D imageOffset; + makeExtent3D(m_caseDef.size), // VkExtent3D imageExtent; + }; + + m_vk.cmdCopyBufferToImage(*m_cmdBuffer, *m_uCopy.colorBuffer, *m_image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1u, ®ion); + + const VkImageMemoryBarrier imagePostInitBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags outputMask; + VK_ACCESS_TRANSFER_READ_BIT, // VkAccessFlags inputMask; + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, // VkImageLayout oldLayout; + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_image, // VkImage image; + makeColorSubresourceRange(0, m_caseDef.numLayers) // VkImageSubresourceRange subresourceRange; + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0u, + 0u, DE_NULL, 0u, DE_NULL, 1u, &imagePostInitBarrier); + + m_imageLayoutAfterUpload = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + m_imageUploadAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; +} + +void UploadDownloadExecutor::uploadDraw(Context& context) +{ + // Create vertex buffer + { + const vector vertices = genVertexData(m_caseDef); + const VkDeviceSize vertexBufferSize = vertices.size() * sizeof(Vec4); + + m_uDraw.vertexBuffer = makeBuffer(m_vk, m_device, vertexBufferSize, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT); + m_uDraw.vertexBufferAlloc = bindBuffer(m_vk, m_device, m_allocator, *m_uDraw.vertexBuffer, MemoryRequirement::HostVisible); + deMemcpy(m_uDraw.vertexBufferAlloc->getHostPtr(), &vertices[0], static_cast(vertexBufferSize)); + flushMappedMemoryRange(m_vk, m_device, m_uDraw.vertexBufferAlloc->getMemory(), m_uDraw.vertexBufferAlloc->getOffset(), vertexBufferSize); + } + + // Create attachments and pipelines for each image layer + m_uDraw.pipelineLayout = makePipelineLayout(m_vk, m_device); + m_uDraw.renderPass = makeRenderPass(m_vk, m_device, m_caseDef.viewFormat, m_caseDef.numLayers); + m_uDraw.vertexModule = createShaderModule(m_vk, m_device, context.getBinaryCollection().get("uploadDrawVert"), 0u); + m_uDraw.fragmentModule = createShaderModule(m_vk, m_device, context.getBinaryCollection().get("uploadDrawFrag"), 0u); + + for (deUint32 subpassNdx = 0; subpassNdx < m_caseDef.numLayers; ++subpassNdx) + { + const vk::VkImageViewUsageCreateInfoKHR viewUsageCreateInfo = { + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, // VkStructureType sType + DE_NULL, // const void* pNext + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, // VkImageUsageFlags usage; + }; + Move imageView = makeImageView(m_vk, m_device, *m_image, getImageViewType(m_caseDef.imageType), m_caseDef.viewFormat, + makeColorSubresourceRange(subpassNdx, 1), m_haveMaintenance2 ? &viewUsageCreateInfo : DE_NULL); + m_uDraw.attachmentHandles.push_back(*imageView); + m_uDraw.attachments.push_back(makeSharedPtr(imageView)); + m_uDraw.pipelines.push_back(makeSharedPtr(makeGraphicsPipeline(m_vk, m_device, *m_uDraw.pipelineLayout, *m_uDraw.renderPass, *m_uDraw.vertexModule, *m_uDraw.fragmentModule, + m_caseDef.size.swizzle(0, 1), VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP, subpassNdx))); + } + + // Create framebuffer + m_uDraw.framebuffer = makeFramebuffer(m_vk, m_device, *m_uDraw.renderPass, static_cast(m_uDraw.attachmentHandles.size()), &m_uDraw.attachmentHandles[0], m_caseDef.size.swizzle(0, 1)); + + // Create command buffer + { + { + vector clearValues (m_caseDef.numLayers, m_viewIsIntegerFormat ? REFERENCE_CLEAR_COLOR_INT[0] : REFERENCE_CLEAR_COLOR_FLOAT[0]); + + const VkRect2D renderArea = + { + makeOffset2D(0, 0), + makeExtent2D(m_caseDef.size.x(), m_caseDef.size.y()), + }; + + const VkRenderPassBeginInfo renderPassBeginInfo = + { + VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO, // VkStructureType sType; + DE_NULL, // const void* pNext; + *m_uDraw.renderPass, // VkRenderPass renderPass; + *m_uDraw.framebuffer, // VkFramebuffer framebuffer; + renderArea, // VkRect2D renderArea; + static_cast(clearValues.size()), // uint32_t clearValueCount; + &clearValues[0], // const VkClearValue* pClearValues; + }; + + m_vk.cmdBeginRenderPass(*m_cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE); + } + + // Render + const VkDeviceSize vertexDataPerDraw = 4 * 2 * sizeof(Vec4); + VkDeviceSize vertexBufferOffset = 0ull; + for (deUint32 subpassNdx = 0; subpassNdx < m_caseDef.numLayers; ++subpassNdx) + { + if (subpassNdx != 0) + m_vk.cmdNextSubpass(*m_cmdBuffer, VK_SUBPASS_CONTENTS_INLINE); + + m_vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_GRAPHICS, **m_uDraw.pipelines[subpassNdx]); + + m_vk.cmdBindVertexBuffers(*m_cmdBuffer, 0u, 1u, &m_uDraw.vertexBuffer.get(), &vertexBufferOffset); + m_vk.cmdDraw(*m_cmdBuffer, 4u, 1u, 0u, 0u); + vertexBufferOffset += vertexDataPerDraw; + } + + m_vk.cmdEndRenderPass(*m_cmdBuffer); + } + + m_imageLayoutAfterUpload = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; + m_imageUploadAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; +} + +void UploadDownloadExecutor::downloadCopy(Context& context, VkBuffer buffer) +{ + (void) context; + + copyImageToBuffer(*m_image, buffer, m_caseDef.size, m_imageUploadAccessMask, m_imageLayoutAfterUpload, m_caseDef.numLayers); +} + +void UploadDownloadExecutor::downloadTexture(Context& context, VkBuffer buffer) +{ + // Create output image with download result + const VkImageUsageFlags usageFlags = VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + m_dTex.outImage = makeImage(m_vk, m_device, 0u, VK_IMAGE_TYPE_2D, m_caseDef.viewFormat, m_caseDef.size, 1u, m_caseDef.numLayers, usageFlags); + m_dTex.outImageAlloc = bindImage(m_vk, m_device, m_allocator, *m_dTex.outImage, MemoryRequirement::Any); + m_dTex.outImageView = makeImageView(m_vk, m_device, *m_dTex.outImage, getImageViewType(m_caseDef.imageType), m_caseDef.viewFormat, makeColorSubresourceRange(0, m_caseDef.numLayers)); + + const vk::VkImageViewUsageCreateInfoKHR viewUsageCreateInfo = { + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, // VkStructureType sType + DE_NULL, // const void* pNext + VK_IMAGE_USAGE_SAMPLED_BIT, // VkImageUsageFlags usage; + }; + m_dTex.inImageView = makeImageView(m_vk, m_device, *m_image, getImageViewType(m_caseDef.imageType), m_caseDef.viewFormat, + makeColorSubresourceRange(0, m_caseDef.numLayers), m_haveMaintenance2 ? &viewUsageCreateInfo : DE_NULL); + m_dTex.sampler = makeSampler(m_vk, m_device); + + // Setup compute pipeline + m_dTex.descriptorPool = DescriptorPoolBuilder() + .addType(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) + .build(m_vk, m_device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u); + + m_dTex.descriptorSetLayout = DescriptorSetLayoutBuilder() + .addSingleSamplerBinding(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, VK_SHADER_STAGE_COMPUTE_BIT, &m_dTex.sampler.get()) + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT) + .build(m_vk, m_device); + + m_dTex.pipelineLayout = makePipelineLayout(m_vk, m_device, *m_dTex.descriptorSetLayout); + m_dTex.descriptorSet = makeDescriptorSet(m_vk, m_device, *m_dTex.descriptorPool, *m_dTex.descriptorSetLayout); + m_dTex.inImageDescriptorInfo = makeDescriptorImageInfo(DE_NULL, *m_dTex.inImageView, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL); + m_dTex.outImageDescriptorInfo = makeDescriptorImageInfo(DE_NULL, *m_dTex.outImageView, VK_IMAGE_LAYOUT_GENERAL); + m_dTex.computeModule = createShaderModule(m_vk, m_device, context.getBinaryCollection().get("downloadTextureComp"), 0); + m_dTex.computePipeline = makeComputePipeline(m_vk, m_device, *m_dTex.pipelineLayout, *m_dTex.computeModule, DE_NULL); + + DescriptorSetUpdateBuilder() + .writeSingle(*m_dTex.descriptorSet, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, &m_dTex.inImageDescriptorInfo) + .writeSingle(*m_dTex.descriptorSet, DescriptorSetUpdateBuilder::Location::binding(1u), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &m_dTex.outImageDescriptorInfo) + .update(m_vk, m_device); + + // Transition images for shader access (texture / imageStore) + const VkImageMemoryBarrier imageBarriers[] = + { + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkAccessFlags)m_imageUploadAccessMask, // VkAccessFlags srcAccessMask; + (VkAccessFlags)VK_ACCESS_SHADER_READ_BIT, // VkAccessFlags dstAccessMask; + m_imageLayoutAfterUpload, // VkImageLayout oldLayout; + VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_image, // VkImage image; + makeColorSubresourceRange(0, m_caseDef.numLayers), // VkImageSubresourceRange subresourceRange; + }, + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkAccessFlags)0, // VkAccessFlags srcAccessMask; + (VkAccessFlags)VK_ACCESS_SHADER_WRITE_BIT, // VkAccessFlags dstAccessMask; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout; + VK_IMAGE_LAYOUT_GENERAL, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_dTex.outImage, // VkImage image; + makeColorSubresourceRange(0, m_caseDef.numLayers), // VkImageSubresourceRange subresourceRange; + } + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0u, + 0u, DE_NULL, 0u, DE_NULL, 2u, imageBarriers); + + // Dispatch + m_vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *m_dTex.computePipeline); + m_vk.cmdBindDescriptorSets(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *m_dTex.pipelineLayout, 0u, 1u, &m_dTex.descriptorSet.get(), 0u, DE_NULL); + m_vk.cmdDispatch(*m_cmdBuffer, m_caseDef.size.x(), m_caseDef.size.y(), m_caseDef.numLayers); + + // Copy output image to color buffer + copyImageToBuffer(*m_dTex.outImage, buffer, m_caseDef.size, VK_ACCESS_SHADER_WRITE_BIT, VK_IMAGE_LAYOUT_GENERAL, m_caseDef.numLayers); +} + +void UploadDownloadExecutor::downloadLoad(Context& context, VkBuffer buffer) +{ + // Create output image with download result + const VkImageUsageFlags usageFlags = VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + m_dLoad.outImage = makeImage(m_vk, m_device, 0u, VK_IMAGE_TYPE_2D, m_caseDef.viewFormat, m_caseDef.size, 1u, m_caseDef.numLayers, usageFlags); + m_dLoad.outImageAlloc = bindImage(m_vk, m_device, m_allocator, *m_dLoad.outImage, MemoryRequirement::Any); + m_dLoad.outImageView = makeImageView(m_vk, m_device, *m_dLoad.outImage, getImageViewType(m_caseDef.imageType), m_caseDef.viewFormat, makeColorSubresourceRange(0, m_caseDef.numLayers)); + + const vk::VkImageViewUsageCreateInfoKHR viewUsageCreateInfo = { + VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR, // VkStructureType sType + DE_NULL, // const void* pNext + VK_IMAGE_USAGE_STORAGE_BIT, // VkImageUsageFlags usage; + }; + m_dLoad.inImageView = makeImageView(m_vk, m_device, *m_image, getImageViewType(m_caseDef.imageType), m_caseDef.viewFormat, + makeColorSubresourceRange(0, m_caseDef.numLayers), m_haveMaintenance2 ? &viewUsageCreateInfo : DE_NULL); + + // Setup compute pipeline + m_dLoad.descriptorPool = DescriptorPoolBuilder() + .addType(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 2u) + .build(m_vk, m_device, VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT, 1u); + + m_dLoad.descriptorSetLayout = DescriptorSetLayoutBuilder() + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT) + .addSingleBinding(VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, VK_SHADER_STAGE_COMPUTE_BIT) + .build(m_vk, m_device); + + m_dLoad.pipelineLayout = makePipelineLayout(m_vk, m_device, *m_dLoad.descriptorSetLayout); + m_dLoad.descriptorSet = makeDescriptorSet(m_vk, m_device, *m_dLoad.descriptorPool, *m_dLoad.descriptorSetLayout); + m_dLoad.inImageDescriptorInfo = makeDescriptorImageInfo(DE_NULL, *m_dLoad.inImageView, VK_IMAGE_LAYOUT_GENERAL); + m_dLoad.outImageDescriptorInfo = makeDescriptorImageInfo(DE_NULL, *m_dLoad.outImageView, VK_IMAGE_LAYOUT_GENERAL); + m_dLoad.computeModule = createShaderModule(m_vk, m_device, context.getBinaryCollection().get("downloadLoadComp"), 0); + m_dLoad.computePipeline = makeComputePipeline(m_vk, m_device, *m_dLoad.pipelineLayout, *m_dLoad.computeModule, DE_NULL); + + DescriptorSetUpdateBuilder() + .writeSingle(*m_dLoad.descriptorSet, DescriptorSetUpdateBuilder::Location::binding(0u), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &m_dLoad.inImageDescriptorInfo) + .writeSingle(*m_dLoad.descriptorSet, DescriptorSetUpdateBuilder::Location::binding(1u), VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, &m_dLoad.outImageDescriptorInfo) + .update(m_vk, m_device); + + // Transition storage images for shader access (imageLoad/Store) + VkImageLayout requiredImageLayout = VK_IMAGE_LAYOUT_GENERAL; + const VkImageMemoryBarrier imageBarriers[] = + { + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkAccessFlags)m_imageUploadAccessMask, // VkAccessFlags srcAccessMask; + (VkAccessFlags)VK_ACCESS_SHADER_READ_BIT, // VkAccessFlags dstAccessMask; + m_imageLayoutAfterUpload, // VkImageLayout oldLayout; + requiredImageLayout, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_image, // VkImage image; + makeColorSubresourceRange(0, m_caseDef.numLayers), // VkImageSubresourceRange subresourceRange; + }, + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + (VkAccessFlags)0, // VkAccessFlags srcAccessMask; + (VkAccessFlags)VK_ACCESS_SHADER_WRITE_BIT, // VkAccessFlags dstAccessMask; + VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout oldLayout; + requiredImageLayout, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + *m_dLoad.outImage, // VkImage image; + makeColorSubresourceRange(0, m_caseDef.numLayers), // VkImageSubresourceRange subresourceRange; + } + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, 0u, + 0u, DE_NULL, 0u, DE_NULL, 2u, imageBarriers); + + // Dispatch + m_vk.cmdBindPipeline(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *m_dLoad.computePipeline); + m_vk.cmdBindDescriptorSets(*m_cmdBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, *m_dLoad.pipelineLayout, 0u, 1u, &m_dLoad.descriptorSet.get(), 0u, DE_NULL); + m_vk.cmdDispatch(*m_cmdBuffer, m_caseDef.size.x(), m_caseDef.size.y(), m_caseDef.numLayers); + + // Copy output image to color buffer + copyImageToBuffer(*m_dLoad.outImage, buffer, m_caseDef.size, VK_ACCESS_SHADER_WRITE_BIT, requiredImageLayout, m_caseDef.numLayers); +} + +void UploadDownloadExecutor::copyImageToBuffer(VkImage sourceImage, + VkBuffer buffer, + const IVec3 size, + const VkAccessFlags srcAccessMask, + const VkImageLayout oldLayout, + const deUint32 numLayers) +{ + // Copy result to host visible buffer for inspection + const VkImageMemoryBarrier imageBarrier = + { + VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + srcAccessMask, // VkAccessFlags outputMask; + VK_ACCESS_TRANSFER_READ_BIT, // VkAccessFlags inputMask; + oldLayout, // VkImageLayout oldLayout; + VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, // VkImageLayout newLayout; + VK_QUEUE_FAMILY_IGNORED, // deUint32 srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // deUint32 destQueueFamilyIndex; + sourceImage, // VkImage image; + makeColorSubresourceRange(0, numLayers) // VkImageSubresourceRange subresourceRange; + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0u, + 0u, DE_NULL, 0u, DE_NULL, 1u, &imageBarrier); + + const VkImageSubresourceLayers subresource = + { + VK_IMAGE_ASPECT_COLOR_BIT, // VkImageAspectFlags aspectMask; + 0u, // uint32_t mipLevel; + 0u, // uint32_t baseArrayLayer; + numLayers, // uint32_t layerCount; + }; + + const VkBufferImageCopy region = + { + 0ull, // VkDeviceSize bufferOffset; + 0u, // uint32_t bufferRowLength; + 0u, // uint32_t bufferImageHeight; + subresource, // VkImageSubresourceLayers imageSubresource; + makeOffset3D(0, 0, 0), // VkOffset3D imageOffset; + makeExtent3D(size), // VkExtent3D imageExtent; + }; + + m_vk.cmdCopyImageToBuffer(*m_cmdBuffer, sourceImage, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, buffer, 1u, ®ion); + + const VkBufferMemoryBarrier bufferBarrier = + { + VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER, // VkStructureType sType; + DE_NULL, // const void* pNext; + VK_ACCESS_TRANSFER_WRITE_BIT, // VkAccessFlags srcAccessMask; + VK_ACCESS_HOST_READ_BIT, // VkAccessFlags dstAccessMask; + VK_QUEUE_FAMILY_IGNORED, // uint32_t srcQueueFamilyIndex; + VK_QUEUE_FAMILY_IGNORED, // uint32_t dstQueueFamilyIndex; + buffer, // VkBuffer buffer; + 0ull, // VkDeviceSize offset; + VK_WHOLE_SIZE, // VkDeviceSize size; + }; + + m_vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, 0u, + 0u, DE_NULL, 1u, &bufferBarrier, 0u, DE_NULL); +} + +bool isStorageImageExtendedFormat (const VkFormat format) +{ + switch (format) + { + case VK_FORMAT_R32G32_SFLOAT: + case VK_FORMAT_R32G32_SINT: + case VK_FORMAT_R32G32_UINT: + case VK_FORMAT_R16G16B16A16_UNORM: + case VK_FORMAT_R16G16B16A16_SNORM: + case VK_FORMAT_R16G16_SFLOAT: + case VK_FORMAT_R16G16_UNORM: + case VK_FORMAT_R16G16_SNORM: + case VK_FORMAT_R16G16_SINT: + case VK_FORMAT_R16G16_UINT: + case VK_FORMAT_R16_SFLOAT: + case VK_FORMAT_R16_UNORM: + case VK_FORMAT_R16_SNORM: + case VK_FORMAT_R16_SINT: + case VK_FORMAT_R16_UINT: + case VK_FORMAT_R8G8_UNORM: + case VK_FORMAT_R8G8_SNORM: + case VK_FORMAT_R8G8_SINT: + case VK_FORMAT_R8G8_UINT: + case VK_FORMAT_R8_UNORM: + case VK_FORMAT_R8_SNORM: + case VK_FORMAT_R8_SINT: + case VK_FORMAT_R8_UINT: + return true; + + default: + return false; + } +} + +tcu::TestStatus testMutable (Context& context, const CaseDef caseDef) +{ + const DeviceInterface& vk = context.getDeviceInterface(); + const InstanceInterface& vki = context.getInstanceInterface(); + const VkDevice device = context.getDevice(); + const VkPhysicalDevice physDevice = context.getPhysicalDevice(); + Allocator& allocator = context.getDefaultAllocator(); + + // Check required features on the format for the required upload/download methods + VkFormatProperties imageFormatProps, viewFormatProps; + vki.getPhysicalDeviceFormatProperties(physDevice, caseDef.imageFormat, &imageFormatProps); + vki.getPhysicalDeviceFormatProperties(physDevice, caseDef.viewFormat, &viewFormatProps); + + VkFormatFeatureFlags viewFormatFeatureFlags = 0u; + switch (caseDef.upload) + { + case UPLOAD_DRAW: + viewFormatFeatureFlags |= VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT; + break; + case UPLOAD_STORE: + viewFormatFeatureFlags |= VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT; + break; + default: + DE_ASSERT("Invalid upload method"); + break; + } + switch (caseDef.download) + { + case DOWNLOAD_TEXTURE: + viewFormatFeatureFlags |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT; + // For the texture case we write the samples read to a separate output image with the same view format + // so we need to check that we can also use the view format for storage + viewFormatFeatureFlags |= VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT; + break; + case DOWNLOAD_LOAD: + viewFormatFeatureFlags |= VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT; + break; + default: + DE_ASSERT("Invalid download method"); + break; + } + + if ((viewFormatFeatureFlags & VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT) && + isStorageImageExtendedFormat(caseDef.viewFormat) && + !getPhysicalDeviceFeatures(vki, physDevice).shaderStorageImageExtendedFormats) + { + TCU_THROW(NotSupportedError, "View format requires shaderStorageImageExtended"); + } + + if ((viewFormatProps.optimalTilingFeatures & viewFormatFeatureFlags) != viewFormatFeatureFlags) + TCU_THROW(NotSupportedError, "View format doesn't support upload/download method"); + + // We don't use the base image for anything other than transfer + // operations so there are no features to check. However, The Vulkan + // 1.0 spec does not allow us to create an image view with usage that + // is not supported by the main format. With VK_KHR_maintenance2, we + // can do this via VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR. + if ((imageFormatProps.optimalTilingFeatures & viewFormatFeatureFlags) != viewFormatFeatureFlags && + !de::contains(context.getDeviceExtensions().begin(), context.getDeviceExtensions().end(), "VK_KHR_maintenance2")) + { + TCU_THROW(NotSupportedError, "Image format doesn't support upload/download method"); + } + + // Create a color buffer for host-inspection of results + // For the Copy download method, this is the target of the download, for other + // download methods, pixel data will be copied to this buffer from the download + // target + const VkDeviceSize colorBufferSize = caseDef.size.x() * caseDef.size.y() * caseDef.size.z() * caseDef.numLayers * tcu::getPixelSize(mapVkFormat(caseDef.imageFormat)); + const Unique colorBuffer (makeBuffer(vk, device, colorBufferSize, VK_BUFFER_USAGE_TRANSFER_DST_BIT)); + const UniquePtr colorBufferAlloc (bindBuffer(vk, device, allocator, *colorBuffer, MemoryRequirement::HostVisible)); + deMemset(colorBufferAlloc->getHostPtr(), 0, static_cast(colorBufferSize)); + flushMappedMemoryRange(vk, device, colorBufferAlloc->getMemory(), colorBufferAlloc->getOffset(), VK_WHOLE_SIZE); + + // Execute the test + UploadDownloadExecutor executor(context, caseDef); + executor.run(context, *colorBuffer); + + // Verify results + { + invalidateMappedMemoryRange(vk, device, colorBufferAlloc->getMemory(), colorBufferAlloc->getOffset(), VK_WHOLE_SIZE); + + // For verification purposes, we use the format of the upload to generate the expected image + const VkFormat format = caseDef.upload == UPLOAD_CLEAR || caseDef.upload == UPLOAD_COPY ? caseDef.imageFormat : caseDef.viewFormat; + const tcu::TextureFormat tcuFormat = mapVkFormat(format); + const bool isIntegerFormat = isUintFormat(format) || isIntFormat(format); + const tcu::ConstPixelBufferAccess resultImage (tcuFormat, caseDef.size.x(), caseDef.size.y(), caseDef.numLayers, colorBufferAlloc->getHostPtr()); + tcu::TextureLevel textureLevel (tcuFormat, caseDef.size.x(), caseDef.size.y(), caseDef.numLayers); + const tcu::PixelBufferAccess expectedImage = textureLevel.getAccess(); + generateExpectedImage(expectedImage, caseDef); + + bool ok; + if (isIntegerFormat) + ok = tcu::intThresholdCompare(context.getTestContext().getLog(), "Image comparison", "", expectedImage, resultImage, tcu::UVec4(1), tcu::COMPARE_LOG_RESULT); + else + ok = tcu::floatThresholdCompare(context.getTestContext().getLog(), "Image comparison", "", expectedImage, resultImage, tcu::Vec4(0.01f), tcu::COMPARE_LOG_RESULT); + return ok ? tcu::TestStatus::pass("Pass") : tcu::TestStatus::fail("Fail"); + } +} + +tcu::TestCaseGroup* createImageMutableTests (TestContext& testCtx) +{ + de::MovePtr testGroup (new TestCaseGroup(testCtx, "mutable", "Cases with mutable images")); + for (int textureNdx = 0; textureNdx < DE_LENGTH_OF_ARRAY(s_textures); ++textureNdx) + { + const Texture& texture = s_textures[textureNdx]; + de::MovePtr groupByImageViewType (new tcu::TestCaseGroup(testCtx, getImageTypeName(texture.type()).c_str(), "")); + + for (int imageFormatNdx = 0; imageFormatNdx < DE_LENGTH_OF_ARRAY(s_formats); ++imageFormatNdx) + for (int viewFormatNdx = 0; viewFormatNdx < DE_LENGTH_OF_ARRAY(s_formats); ++viewFormatNdx) + { + if (imageFormatNdx != viewFormatNdx && formatsAreCompatible(s_formats[imageFormatNdx], s_formats[viewFormatNdx])) + { + for (int upload = 0; upload < UPLOAD_LAST; upload++) + for (int download = 0; download < DOWNLOAD_LAST; download++) + { + const CaseDef caseDef = + { + texture.type(), + texture.layerSize(), + static_cast(texture.numLayers()), + s_formats[imageFormatNdx], + s_formats[viewFormatNdx], + static_cast(upload), + static_cast(download) + }; + + const std::string caseName = getFormatShortString(s_formats[imageFormatNdx]) + "_" + getFormatShortString(s_formats[viewFormatNdx]) + + "_" + getUploadString(upload) + "_" + getDownloadString(download); + addFunctionCaseWithPrograms(groupByImageViewType.get(), caseName, "", initPrograms, testMutable, caseDef); + } + } + } + + testGroup->addChild(groupByImageViewType.release()); + } + + return testGroup.release(); +} + +} // image +} // vkt diff --git a/external/vulkancts/modules/vulkan/image/vktImageMutableTests.hpp b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.hpp new file mode 100644 index 0000000..6bfe26c --- /dev/null +++ b/external/vulkancts/modules/vulkan/image/vktImageMutableTests.hpp @@ -0,0 +1,41 @@ +#ifndef _VKTIMAGEMUTABLETESTS_HPP +#define _VKTIMAGEMUTABLETESTS_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 + * \brief Tests for mutable images + *//*--------------------------------------------------------------------*/ + +#include "tcuDefs.hpp" +#include "vktTestCase.hpp" +#include "deUniquePtr.hpp" +#include "vktImageTestsUtil.hpp" + +namespace vkt +{ +namespace image +{ + +tcu::TestCaseGroup* createImageMutableTests (tcu::TestContext& testCtx); + +} // image +} // vkt + +#endif // _VKTIMAGEMUTABLETESTS_HPP diff --git a/external/vulkancts/modules/vulkan/image/vktImageTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageTests.cpp index b89a267..7e5d48d 100644 --- a/external/vulkancts/modules/vulkan/image/vktImageTests.cpp +++ b/external/vulkancts/modules/vulkan/image/vktImageTests.cpp @@ -24,6 +24,7 @@ #include "vktImageTests.hpp" #include "vktImageLoadStoreTests.hpp" #include "vktImageMultisampleLoadStoreTests.hpp" +#include "vktImageMutableTests.hpp" #include "vktImageQualifiersTests.hpp" #include "vktImageSizeTests.hpp" #include "vktTestGroupUtil.hpp" @@ -45,6 +46,7 @@ void createChildren (tcu::TestCaseGroup* imageTests) imageTests->addChild(createImageStoreTests(testCtx)); imageTests->addChild(createImageLoadStoreTests(testCtx)); imageTests->addChild(createImageMultisampleLoadStoreTests(testCtx)); + imageTests->addChild(createImageMutableTests(testCtx)); imageTests->addChild(createImageFormatReinterpretTests(testCtx)); imageTests->addChild(createImageQualifiersTests(testCtx)); imageTests->addChild(createImageSizeTests(testCtx)); diff --git a/external/vulkancts/mustpass/1.0.2/vk-default.txt b/external/vulkancts/mustpass/1.0.2/vk-default.txt index 1968c33..b870200 100644 --- a/external/vulkancts/mustpass/1.0.2/vk-default.txt +++ b/external/vulkancts/mustpass/1.0.2/vk-default.txt @@ -172485,6 +172485,3030 @@ dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.sample dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.samples_16 dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.samples_32 dEQP-VK.image.load_store_multisample.2d_array.r8g8b8a8_snorm_single_layer.samples_64 +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r32_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_uint_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r32_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32b32a32_sint_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16b16a16_sint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d.r32g32_sint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r16g16_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r32_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sfloat_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sfloat_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sfloat_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_uint_r32g32b32a32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_uint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_uint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32b32a32_sint_r32g32b32a32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16b16a16_sint_r32g32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r32g32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32g32_sint_r16g16b16a16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r16g16_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_unorm_draw_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r32_sint_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_unorm_r8g8b8a8_snorm_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sfloat_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_uint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r16g16_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r32_sint_draw_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_clear_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_copy_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_store_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_store_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_store_texture +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_copy +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_load +dEQP-VK.image.mutable.2d_array.r8g8b8a8_snorm_r8g8b8a8_unorm_draw_texture dEQP-VK.image.format_reinterpret.1d.r32g32b32a32_sfloat_r32g32b32a32_uint dEQP-VK.image.format_reinterpret.1d.r32g32b32a32_sfloat_r32g32b32a32_sint dEQP-VK.image.format_reinterpret.1d.r16g16b16a16_sfloat_r16g16b16a16_uint -- 2.7.4