From 300c5767a18695a90918e0386f104d33c1bdf586 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 26 Aug 2020 17:47:24 -0500 Subject: [PATCH] Add tests for VK_EXT_shader_atomic_float2 New tests: dEQP-VK.glsl.atomic_operations.*float16* dEQP-VK.glsl.atomic_operations.min_float* dEQP-VK.glsl.atomic_operations.max_float* dEQP-VK.image.atomic_operations.min*r32f* dEQP-VK.image.atomic_operations.max*r32f* Affects: dEQP-VK.glsl.atomic_operations.*float* dEQP-VK.image.atomic_operations.add*r32f* dEQP-VK.image.atomic_operations.exchange*r32f* Components: Vulkan VK-GL-CTS issue: 2566 Change-Id: I7462cc74e799c2245407220fa9db7e5b659f86f4 (cherry picked from commit ca4e5aff66bccbbe88935c10e2c55a3147c1fc03) (cherry picked from commit 218eb73c4f30e720bd19a61704f5ad6ebcd73d48) --- android/cts/master/vk-master-2021-03-01/glsl.txt | 104 +++++++ android/cts/master/vk-master-2021-03-01/image.txt | 144 +++++++++ android/cts/master/vk-master/glsl.txt | 104 +++++++ android/cts/master/vk-master/image.txt | 144 +++++++++ .../framework/vulkan/vkMandatoryFeatures.inl | 19 ++ .../vulkan/image/vktImageAtomicOperationTests.cpp | 36 ++- .../shaderexecutor/vktAtomicOperationTests.cpp | 333 +++++++++++++++++++-- .../vulkancts/mustpass/master/vk-default/glsl.txt | 104 +++++++ .../vulkancts/mustpass/master/vk-default/image.txt | 144 +++++++++ .../vulkancts/scripts/src/mandatory_features.txt | 1 + framework/delibs/debase/deFloat16.h | 31 ++ framework/delibs/debase/deMath.h | 77 +++++ framework/delibs/decpp/CMakeLists.txt | 1 + framework/delibs/decpp/deMath.hpp | 90 ++++++ 14 files changed, 1295 insertions(+), 37 deletions(-) create mode 100644 framework/delibs/decpp/deMath.hpp diff --git a/android/cts/master/vk-master-2021-03-01/glsl.txt b/android/cts/master/vk-master-2021-03-01/glsl.txt index ab20c15..a376b9f 100644 --- a/android/cts/master/vk-master-2021-03-01/glsl.txt +++ b/android/cts/master/vk-master-2021-03-01/glsl.txt @@ -567,6 +567,19 @@ dEQP-VK.glsl.builtin.precision_double.fma.compute.scalar dEQP-VK.glsl.builtin.precision_double.fma.compute.vec2 dEQP-VK.glsl.builtin.precision_double.fma.compute.vec3 dEQP-VK.glsl.builtin.precision_double.fma.compute.vec4 +dEQP-VK.glsl.atomic_operations.exchange_float16_vertex +dEQP-VK.glsl.atomic_operations.exchange_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_fragment +dEQP-VK.glsl.atomic_operations.exchange_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_geometry +dEQP-VK.glsl.atomic_operations.exchange_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_eval +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_compute +dEQP-VK.glsl.atomic_operations.exchange_float16_compute_shared +dEQP-VK.glsl.atomic_operations.exchange_float16_compute_reference dEQP-VK.glsl.atomic_operations.exchange_signed_vertex_reference dEQP-VK.glsl.atomic_operations.exchange_signed_fragment_reference dEQP-VK.glsl.atomic_operations.exchange_signed_geometry_reference @@ -649,6 +662,19 @@ dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_tess_ctrl_reference dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.add_float16_vertex +dEQP-VK.glsl.atomic_operations.add_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.add_float16_fragment +dEQP-VK.glsl.atomic_operations.add_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.add_float16_geometry +dEQP-VK.glsl.atomic_operations.add_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.add_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.add_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.add_float16_tess_eval +dEQP-VK.glsl.atomic_operations.add_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.add_float16_compute +dEQP-VK.glsl.atomic_operations.add_float16_compute_shared +dEQP-VK.glsl.atomic_operations.add_float16_compute_reference dEQP-VK.glsl.atomic_operations.add_signed_vertex_reference dEQP-VK.glsl.atomic_operations.add_signed_fragment_reference dEQP-VK.glsl.atomic_operations.add_signed_geometry_reference @@ -703,6 +729,19 @@ dEQP-VK.glsl.atomic_operations.add_float64_tess_eval_reference dEQP-VK.glsl.atomic_operations.add_float64_compute dEQP-VK.glsl.atomic_operations.add_float64_compute_shared dEQP-VK.glsl.atomic_operations.add_float64_compute_reference +dEQP-VK.glsl.atomic_operations.min_float16_vertex +dEQP-VK.glsl.atomic_operations.min_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float16_fragment +dEQP-VK.glsl.atomic_operations.min_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float16_geometry +dEQP-VK.glsl.atomic_operations.min_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float16_tess_eval +dEQP-VK.glsl.atomic_operations.min_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float16_compute +dEQP-VK.glsl.atomic_operations.min_float16_compute_shared +dEQP-VK.glsl.atomic_operations.min_float16_compute_reference dEQP-VK.glsl.atomic_operations.min_signed_vertex_reference dEQP-VK.glsl.atomic_operations.min_signed_fragment_reference dEQP-VK.glsl.atomic_operations.min_signed_geometry_reference @@ -717,6 +756,19 @@ dEQP-VK.glsl.atomic_operations.min_unsigned_tess_ctrl_reference dEQP-VK.glsl.atomic_operations.min_unsigned_tess_eval_reference dEQP-VK.glsl.atomic_operations.min_unsigned_compute_shared dEQP-VK.glsl.atomic_operations.min_unsigned_compute_reference +dEQP-VK.glsl.atomic_operations.min_float32_vertex +dEQP-VK.glsl.atomic_operations.min_float32_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float32_fragment +dEQP-VK.glsl.atomic_operations.min_float32_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float32_geometry +dEQP-VK.glsl.atomic_operations.min_float32_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float32_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float32_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float32_tess_eval +dEQP-VK.glsl.atomic_operations.min_float32_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float32_compute +dEQP-VK.glsl.atomic_operations.min_float32_compute_shared +dEQP-VK.glsl.atomic_operations.min_float32_compute_reference dEQP-VK.glsl.atomic_operations.min_signed64bit_vertex_reference dEQP-VK.glsl.atomic_operations.min_signed64bit_fragment_reference dEQP-VK.glsl.atomic_operations.min_signed64bit_geometry_reference @@ -731,6 +783,32 @@ dEQP-VK.glsl.atomic_operations.min_unsigned64bit_tess_ctrl_reference dEQP-VK.glsl.atomic_operations.min_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.min_float64_vertex +dEQP-VK.glsl.atomic_operations.min_float64_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float64_fragment +dEQP-VK.glsl.atomic_operations.min_float64_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float64_geometry +dEQP-VK.glsl.atomic_operations.min_float64_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float64_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float64_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float64_tess_eval +dEQP-VK.glsl.atomic_operations.min_float64_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float64_compute +dEQP-VK.glsl.atomic_operations.min_float64_compute_shared +dEQP-VK.glsl.atomic_operations.min_float64_compute_reference +dEQP-VK.glsl.atomic_operations.max_float16_vertex +dEQP-VK.glsl.atomic_operations.max_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float16_fragment +dEQP-VK.glsl.atomic_operations.max_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float16_geometry +dEQP-VK.glsl.atomic_operations.max_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float16_tess_eval +dEQP-VK.glsl.atomic_operations.max_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float16_compute +dEQP-VK.glsl.atomic_operations.max_float16_compute_shared +dEQP-VK.glsl.atomic_operations.max_float16_compute_reference dEQP-VK.glsl.atomic_operations.max_signed_vertex_reference dEQP-VK.glsl.atomic_operations.max_signed_fragment_reference dEQP-VK.glsl.atomic_operations.max_signed_geometry_reference @@ -745,6 +823,19 @@ dEQP-VK.glsl.atomic_operations.max_unsigned_tess_ctrl_reference dEQP-VK.glsl.atomic_operations.max_unsigned_tess_eval_reference dEQP-VK.glsl.atomic_operations.max_unsigned_compute_shared dEQP-VK.glsl.atomic_operations.max_unsigned_compute_reference +dEQP-VK.glsl.atomic_operations.max_float32_vertex +dEQP-VK.glsl.atomic_operations.max_float32_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float32_fragment +dEQP-VK.glsl.atomic_operations.max_float32_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float32_geometry +dEQP-VK.glsl.atomic_operations.max_float32_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float32_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float32_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float32_tess_eval +dEQP-VK.glsl.atomic_operations.max_float32_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float32_compute +dEQP-VK.glsl.atomic_operations.max_float32_compute_shared +dEQP-VK.glsl.atomic_operations.max_float32_compute_reference dEQP-VK.glsl.atomic_operations.max_signed64bit_vertex_reference dEQP-VK.glsl.atomic_operations.max_signed64bit_fragment_reference dEQP-VK.glsl.atomic_operations.max_signed64bit_geometry_reference @@ -759,6 +850,19 @@ dEQP-VK.glsl.atomic_operations.max_unsigned64bit_tess_ctrl_reference dEQP-VK.glsl.atomic_operations.max_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.max_float64_vertex +dEQP-VK.glsl.atomic_operations.max_float64_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float64_fragment +dEQP-VK.glsl.atomic_operations.max_float64_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float64_geometry +dEQP-VK.glsl.atomic_operations.max_float64_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float64_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float64_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float64_tess_eval +dEQP-VK.glsl.atomic_operations.max_float64_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float64_compute +dEQP-VK.glsl.atomic_operations.max_float64_compute_shared +dEQP-VK.glsl.atomic_operations.max_float64_compute_reference dEQP-VK.glsl.atomic_operations.and_signed_vertex_reference dEQP-VK.glsl.atomic_operations.and_signed_fragment_reference dEQP-VK.glsl.atomic_operations.and_signed_geometry_reference diff --git a/android/cts/master/vk-master-2021-03-01/image.txt b/android/cts/master/vk-master-2021-03-01/image.txt index 4fd438b..96213fc 100644 --- a/android/cts/master/vk-master-2021-03-01/image.txt +++ b/android/cts/master/vk-master-2021-03-01/image.txt @@ -1490,6 +1490,8 @@ dEQP-VK.image.atomic_operations.dec.cube_array.transfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.dec.cube_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.dec.cube_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.dec.cube_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64i_end_result @@ -1498,10 +1500,14 @@ dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64i_end_result dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -1510,10 +1516,14 @@ dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64i_end_result dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64i_end_result @@ -1522,6 +1532,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64i_end_result @@ -1530,6 +1542,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64i_end_result @@ -1538,6 +1552,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1546,6 +1562,8 @@ dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64i_end_result @@ -1554,10 +1572,14 @@ dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -1566,6 +1588,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -1574,6 +1598,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -1582,6 +1608,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1590,6 +1618,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64i_end_result @@ -1598,10 +1628,14 @@ dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32 dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64i_end_result @@ -1610,6 +1644,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64i_end_result @@ -1618,6 +1654,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64i_end_result @@ -1626,6 +1664,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1634,6 +1674,8 @@ dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64i_end_result @@ -1642,10 +1684,14 @@ dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64i_end_result @@ -1654,6 +1700,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64i_end_result @@ -1662,6 +1710,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64i_end_result @@ -1670,6 +1720,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1678,6 +1730,8 @@ dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64i_end_result @@ -1686,10 +1740,14 @@ dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64i_end_result @@ -1698,6 +1756,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -1706,6 +1766,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -1714,6 +1776,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1722,6 +1786,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64i_end_result @@ -1730,10 +1796,18 @@ dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.buffer.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.buffer.notransfer.normal_read.normal_img.r32f_intermediate_values +dEQP-VK.image.atomic_operations.min.buffer.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.buffer.transfer.normal_read.normal_img.r32f_intermediate_values +dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64i_end_result @@ -1742,10 +1816,14 @@ dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64i_end_result dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -1754,10 +1832,14 @@ dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64i_end_result dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64i_end_result @@ -1766,6 +1848,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64i_end_result @@ -1774,6 +1858,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64i_end_result @@ -1782,6 +1868,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1790,6 +1878,8 @@ dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64i_end_result @@ -1798,10 +1888,14 @@ dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -1810,6 +1904,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -1818,6 +1914,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -1826,6 +1924,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1834,6 +1934,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64i_end_result @@ -1842,10 +1944,14 @@ dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32 dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64i_end_result @@ -1854,6 +1960,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64i_end_result @@ -1862,6 +1970,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64i_end_result @@ -1870,6 +1980,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1878,6 +1990,8 @@ dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64i_end_result @@ -1886,10 +2000,14 @@ dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64i_end_result @@ -1898,6 +2016,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64i_end_result @@ -1906,6 +2026,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64i_end_result @@ -1914,6 +2036,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1922,6 +2046,8 @@ dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64i_end_result @@ -1930,10 +2056,14 @@ dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64i_end_result @@ -1942,6 +2072,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -1950,6 +2082,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -1958,6 +2092,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -1966,6 +2102,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64i_end_result @@ -1974,10 +2112,16 @@ dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.buffer.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.buffer.notransfer.normal_read.normal_img.r32f_intermediate_values +dEQP-VK.image.atomic_operations.max.buffer.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.buffer.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r64i_end_result diff --git a/android/cts/master/vk-master/glsl.txt b/android/cts/master/vk-master/glsl.txt index 84e6871..e7b145f 100644 --- a/android/cts/master/vk-master/glsl.txt +++ b/android/cts/master/vk-master/glsl.txt @@ -16534,6 +16534,19 @@ dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_geometry dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_tess_ctrl dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_tess_eval dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_compute +dEQP-VK.glsl.atomic_operations.exchange_float16_vertex +dEQP-VK.glsl.atomic_operations.exchange_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_fragment +dEQP-VK.glsl.atomic_operations.exchange_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_geometry +dEQP-VK.glsl.atomic_operations.exchange_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_eval +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_compute +dEQP-VK.glsl.atomic_operations.exchange_float16_compute_shared +dEQP-VK.glsl.atomic_operations.exchange_float16_compute_reference dEQP-VK.glsl.atomic_operations.exchange_signed_vertex dEQP-VK.glsl.atomic_operations.exchange_signed_vertex_reference dEQP-VK.glsl.atomic_operations.exchange_signed_fragment @@ -16664,6 +16677,19 @@ dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.add_float16_vertex +dEQP-VK.glsl.atomic_operations.add_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.add_float16_fragment +dEQP-VK.glsl.atomic_operations.add_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.add_float16_geometry +dEQP-VK.glsl.atomic_operations.add_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.add_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.add_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.add_float16_tess_eval +dEQP-VK.glsl.atomic_operations.add_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.add_float16_compute +dEQP-VK.glsl.atomic_operations.add_float16_compute_shared +dEQP-VK.glsl.atomic_operations.add_float16_compute_reference dEQP-VK.glsl.atomic_operations.add_signed_vertex dEQP-VK.glsl.atomic_operations.add_signed_vertex_reference dEQP-VK.glsl.atomic_operations.add_signed_fragment @@ -16742,6 +16768,19 @@ dEQP-VK.glsl.atomic_operations.add_float64_tess_eval_reference dEQP-VK.glsl.atomic_operations.add_float64_compute dEQP-VK.glsl.atomic_operations.add_float64_compute_shared dEQP-VK.glsl.atomic_operations.add_float64_compute_reference +dEQP-VK.glsl.atomic_operations.min_float16_vertex +dEQP-VK.glsl.atomic_operations.min_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float16_fragment +dEQP-VK.glsl.atomic_operations.min_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float16_geometry +dEQP-VK.glsl.atomic_operations.min_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float16_tess_eval +dEQP-VK.glsl.atomic_operations.min_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float16_compute +dEQP-VK.glsl.atomic_operations.min_float16_compute_shared +dEQP-VK.glsl.atomic_operations.min_float16_compute_reference dEQP-VK.glsl.atomic_operations.min_signed_vertex dEQP-VK.glsl.atomic_operations.min_signed_vertex_reference dEQP-VK.glsl.atomic_operations.min_signed_fragment @@ -16768,6 +16807,19 @@ dEQP-VK.glsl.atomic_operations.min_unsigned_tess_eval_reference dEQP-VK.glsl.atomic_operations.min_unsigned_compute dEQP-VK.glsl.atomic_operations.min_unsigned_compute_shared dEQP-VK.glsl.atomic_operations.min_unsigned_compute_reference +dEQP-VK.glsl.atomic_operations.min_float32_vertex +dEQP-VK.glsl.atomic_operations.min_float32_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float32_fragment +dEQP-VK.glsl.atomic_operations.min_float32_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float32_geometry +dEQP-VK.glsl.atomic_operations.min_float32_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float32_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float32_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float32_tess_eval +dEQP-VK.glsl.atomic_operations.min_float32_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float32_compute +dEQP-VK.glsl.atomic_operations.min_float32_compute_shared +dEQP-VK.glsl.atomic_operations.min_float32_compute_reference dEQP-VK.glsl.atomic_operations.min_signed64bit_vertex dEQP-VK.glsl.atomic_operations.min_signed64bit_vertex_reference dEQP-VK.glsl.atomic_operations.min_signed64bit_fragment @@ -16794,6 +16846,32 @@ dEQP-VK.glsl.atomic_operations.min_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.min_float64_vertex +dEQP-VK.glsl.atomic_operations.min_float64_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float64_fragment +dEQP-VK.glsl.atomic_operations.min_float64_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float64_geometry +dEQP-VK.glsl.atomic_operations.min_float64_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float64_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float64_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float64_tess_eval +dEQP-VK.glsl.atomic_operations.min_float64_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float64_compute +dEQP-VK.glsl.atomic_operations.min_float64_compute_shared +dEQP-VK.glsl.atomic_operations.min_float64_compute_reference +dEQP-VK.glsl.atomic_operations.max_float16_vertex +dEQP-VK.glsl.atomic_operations.max_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float16_fragment +dEQP-VK.glsl.atomic_operations.max_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float16_geometry +dEQP-VK.glsl.atomic_operations.max_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float16_tess_eval +dEQP-VK.glsl.atomic_operations.max_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float16_compute +dEQP-VK.glsl.atomic_operations.max_float16_compute_shared +dEQP-VK.glsl.atomic_operations.max_float16_compute_reference dEQP-VK.glsl.atomic_operations.max_signed_vertex dEQP-VK.glsl.atomic_operations.max_signed_vertex_reference dEQP-VK.glsl.atomic_operations.max_signed_fragment @@ -16820,6 +16898,19 @@ dEQP-VK.glsl.atomic_operations.max_unsigned_tess_eval_reference dEQP-VK.glsl.atomic_operations.max_unsigned_compute dEQP-VK.glsl.atomic_operations.max_unsigned_compute_shared dEQP-VK.glsl.atomic_operations.max_unsigned_compute_reference +dEQP-VK.glsl.atomic_operations.max_float32_vertex +dEQP-VK.glsl.atomic_operations.max_float32_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float32_fragment +dEQP-VK.glsl.atomic_operations.max_float32_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float32_geometry +dEQP-VK.glsl.atomic_operations.max_float32_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float32_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float32_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float32_tess_eval +dEQP-VK.glsl.atomic_operations.max_float32_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float32_compute +dEQP-VK.glsl.atomic_operations.max_float32_compute_shared +dEQP-VK.glsl.atomic_operations.max_float32_compute_reference dEQP-VK.glsl.atomic_operations.max_signed64bit_vertex dEQP-VK.glsl.atomic_operations.max_signed64bit_vertex_reference dEQP-VK.glsl.atomic_operations.max_signed64bit_fragment @@ -16846,6 +16937,19 @@ dEQP-VK.glsl.atomic_operations.max_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.max_float64_vertex +dEQP-VK.glsl.atomic_operations.max_float64_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float64_fragment +dEQP-VK.glsl.atomic_operations.max_float64_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float64_geometry +dEQP-VK.glsl.atomic_operations.max_float64_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float64_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float64_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float64_tess_eval +dEQP-VK.glsl.atomic_operations.max_float64_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float64_compute +dEQP-VK.glsl.atomic_operations.max_float64_compute_shared +dEQP-VK.glsl.atomic_operations.max_float64_compute_reference dEQP-VK.glsl.atomic_operations.and_signed_vertex dEQP-VK.glsl.atomic_operations.and_signed_vertex_reference dEQP-VK.glsl.atomic_operations.and_signed_fragment diff --git a/android/cts/master/vk-master/image.txt b/android/cts/master/vk-master/image.txt index c112417..1660d28 100644 --- a/android/cts/master/vk-master/image.txt +++ b/android/cts/master/vk-master/image.txt @@ -17326,6 +17326,8 @@ dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64i_end_result @@ -17334,6 +17336,8 @@ dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64i_end_result @@ -17342,6 +17346,8 @@ dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17350,6 +17356,8 @@ dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17358,6 +17366,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64i_end_result @@ -17366,6 +17376,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17374,6 +17386,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17382,6 +17396,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17390,6 +17406,8 @@ dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64i_end_result @@ -17398,6 +17416,8 @@ dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64i_end_result @@ -17406,6 +17426,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17414,6 +17436,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17422,6 +17446,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17430,6 +17456,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17438,6 +17466,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17446,6 +17476,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32 dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64i_end_result @@ -17454,6 +17486,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64i_end_result @@ -17462,6 +17496,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17470,6 +17506,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17478,6 +17516,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17486,6 +17526,8 @@ dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64i_end_result @@ -17494,6 +17536,8 @@ dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64i_end_result @@ -17502,6 +17546,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64i_end_result @@ -17510,6 +17556,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64i_end_result @@ -17518,6 +17566,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64i_end_result @@ -17526,6 +17576,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17534,6 +17586,8 @@ dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64i_end_result @@ -17542,6 +17596,8 @@ dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64i_end_result @@ -17550,6 +17606,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17558,6 +17616,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17566,6 +17626,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17574,6 +17636,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17582,6 +17646,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64i_end_result @@ -17590,14 +17656,22 @@ dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.buffer.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.buffer.notransfer.normal_read.normal_img.r32f_intermediate_values +dEQP-VK.image.atomic_operations.min.buffer.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.buffer.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32ui_end_result dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64i_end_result @@ -17606,6 +17680,8 @@ dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64i_end_result @@ -17614,6 +17690,8 @@ dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17622,6 +17700,8 @@ dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17630,6 +17710,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64i_end_result @@ -17638,6 +17720,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17646,6 +17730,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17654,6 +17740,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17662,6 +17750,8 @@ dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64i_end_result @@ -17670,6 +17760,8 @@ dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64i_end_result @@ -17678,6 +17770,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17686,6 +17780,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17694,6 +17790,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17702,6 +17800,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17710,6 +17810,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17718,6 +17820,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32 dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64i_end_result @@ -17726,6 +17830,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64i_end_result @@ -17734,6 +17840,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17742,6 +17850,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17750,6 +17860,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17758,6 +17870,8 @@ dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64i_end_result @@ -17766,6 +17880,8 @@ dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64i_end_result @@ -17774,6 +17890,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64i_end_result @@ -17782,6 +17900,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64i_end_result @@ -17790,6 +17910,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64i_end_result @@ -17798,6 +17920,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17806,6 +17930,8 @@ dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64i_end_result @@ -17814,6 +17940,8 @@ dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64i_end_result @@ -17822,6 +17950,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17830,6 +17960,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17838,6 +17970,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17846,6 +17980,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17854,6 +17990,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64i_end_result @@ -17862,10 +18000,16 @@ dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.buffer.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.buffer.notransfer.normal_read.normal_img.r32f_intermediate_values +dEQP-VK.image.atomic_operations.max.buffer.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.buffer.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r32ui_end_result dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r32i_end_result diff --git a/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl b/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl index fe57bdb..e014ffc 100644 --- a/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl +++ b/external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl @@ -336,6 +336,16 @@ bool checkMandatoryFeatures(const vkt::Context& context) nextPtr = &physicalDeviceSeparateDepthStencilLayoutsFeaturesKHR.pNext; } + vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT physicalDeviceShaderAtomicFloat2FeaturesEXT; + deMemset(&physicalDeviceShaderAtomicFloat2FeaturesEXT, 0, sizeof(physicalDeviceShaderAtomicFloat2FeaturesEXT)); + + if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_shader_atomic_float2")) ) + { + physicalDeviceShaderAtomicFloat2FeaturesEXT.sType = getStructureType(); + *nextPtr = &physicalDeviceShaderAtomicFloat2FeaturesEXT; + nextPtr = &physicalDeviceShaderAtomicFloat2FeaturesEXT.pNext; + } + vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT physicalDeviceShaderAtomicFloatFeaturesEXT; deMemset(&physicalDeviceShaderAtomicFloatFeaturesEXT, 0, sizeof(physicalDeviceShaderAtomicFloatFeaturesEXT)); @@ -1876,6 +1886,15 @@ bool checkMandatoryFeatures(const vkt::Context& context) } } + if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_shader_atomic_float2")) && physicalDeviceShaderAtomicFloat2FeaturesEXT.sparseImageFloat32AtomicMinMax ) + { + if ( physicalDeviceShaderAtomicFloat2FeaturesEXT.shaderImageFloat32AtomicMinMax == VK_FALSE ) + { + log << tcu::TestLog::Message << "Mandatory feature shaderImageFloat32AtomicMinMax not supported" << tcu::TestLog::EndMessage; + result = false; + } + } + return result; } diff --git a/external/vulkancts/modules/vulkan/image/vktImageAtomicOperationTests.cpp b/external/vulkancts/modules/vulkan/image/vktImageAtomicOperationTests.cpp index df45519..8c7f987 100644 --- a/external/vulkancts/modules/vulkan/image/vktImageAtomicOperationTests.cpp +++ b/external/vulkancts/modules/vulkan/image/vktImageAtomicOperationTests.cpp @@ -580,6 +580,15 @@ void commonCheckSupport (Context& context, const tcu::TextureFormat& tcuFormat, if ((operation == ATOMIC_OPERATION_ADD) && !atomicFloatFeatures.shaderImageFloat32AtomicAdd) TCU_THROW(NotSupportedError, "shaderImageFloat32AtomicAdd not supported"); + if (operation == ATOMIC_OPERATION_MIN || operation == ATOMIC_OPERATION_MAX) + { + context.requireDeviceFunctionality("VK_EXT_shader_atomic_float2"); + if (!context.getShaderAtomicFloat2FeaturesEXT().shaderImageFloat32AtomicMinMax) + { + TCU_THROW(NotSupportedError, "shaderImageFloat32AtomicMinMax not supported"); + } + } + if ((formatProperties.optimalTilingFeatures & requiredFeatures) != requiredFeatures) TCU_FAIL("Required format feature bits not supported"); @@ -723,7 +732,9 @@ void BinaryAtomicEndResultCase::initPrograms (SourceCollections& sourceCollectio const string atomicInvocation = getAtomicOperationShaderFuncName(m_operation) + "(u_resultImage, " + atomicCoord + compareExchangeStr + ", " + atomicArgExpr + ")"; const string shaderImageFormatStr = getShaderImageFormatQualifier(m_format); const string shaderImageTypeStr = getShaderImageType(m_format, m_imageType); - const string extensions = "#extension GL_EXT_shader_atomic_float : enable\n#extension GL_KHR_memory_scope_semantics : enable "; + const string extensions = "#extension GL_EXT_shader_atomic_float : enable\n" + "#extension GL_EXT_shader_atomic_float2 : enable\n" + "#extension GL_KHR_memory_scope_semantics : enable"; string source = versionDecl + "\n" + extensions + "\n"; @@ -849,7 +860,9 @@ void BinaryAtomicIntermValuesCase::initPrograms (SourceCollections& sourceCollec "(u_resultImage, " + atomicCoord + compareExchangeStr + ", " + atomicArgExpr + ")"; const string shaderImageFormatStr = getShaderImageFormatQualifier(m_format); const string shaderImageTypeStr = getShaderImageType(m_format, m_imageType); - const string extensions = "#extension GL_EXT_shader_atomic_float : enable\n#extension GL_KHR_memory_scope_semantics : enable "; + const string extensions = "#extension GL_EXT_shader_atomic_float : enable\n" + "#extension GL_EXT_shader_atomic_float2 : enable\n" + "#extension GL_KHR_memory_scope_semantics : enable"; string source = versionDecl + "\n" + extensions + "\n" "\n"; @@ -1453,12 +1466,12 @@ bool BinaryAtomicEndResultInstance::verifyResult (Allocation& outputBufferAlloca for (deInt32 x = 0; x < resultBuffer.getWidth(); x++) { const void* resultValue = resultBuffer.getPixelPtr(x, y, z); - deUint32 floatToUnsignedValue = 0; + deInt32 floatToIntValue = 0; bool isFloatValue = false; if (isFloatFormat(mapTextureFormat(m_format))) { isFloatValue = true; - floatToUnsignedValue = static_cast(*((float*)resultValue)); + floatToIntValue = static_cast(*((float*)resultValue)); } if (isOrderIndependentAtomicOperation(m_operation)) @@ -1492,7 +1505,7 @@ bool BinaryAtomicEndResultInstance::verifyResult (Allocation& outputBufferAlloca else { // 32-bit floating point - if (!isValueCorrect(floatToUnsignedValue, x, y, z, gridSize, extendedGridSize)) + if (!isValueCorrect(floatToIntValue, x, y, z, gridSize, extendedGridSize)) return false; } } @@ -1507,7 +1520,7 @@ bool BinaryAtomicEndResultInstance::verifyResult (Allocation& outputBufferAlloca matchFound = is64Bit ? (*((deInt64*)resultValue) == getAtomicFuncArgument(m_operation, gid, extendedGridSize)) : isFloatValue ? - floatToUnsignedValue == getAtomicFuncArgument(m_operation, gid, extendedGridSize) : + floatToIntValue == getAtomicFuncArgument(m_operation, gid, extendedGridSize) : (*((deInt32*)resultValue) == getAtomicFuncArgument(m_operation, gid, extendedGridSize)); } @@ -1526,7 +1539,7 @@ bool BinaryAtomicEndResultInstance::verifyResult (Allocation& outputBufferAlloca matchFound = is64Bit ? (*((deInt64*)resultValue) == getAtomicFuncArgument(m_operation, gid, extendedGridSize)) : isFloatValue ? - floatToUnsignedValue == getAtomicFuncArgument(m_operation, gid, extendedGridSize) : + floatToIntValue == getAtomicFuncArgument(m_operation, gid, extendedGridSize) : (*((deInt32*)resultValue) == getAtomicFuncArgument(m_operation, gid, extendedGridSize)); } @@ -1802,7 +1815,7 @@ bool BinaryAtomicIntermValuesInstance::verifyResult (Allocation& outputBufferAll else { // 32-bit floating point - if (!areValuesCorrect(resultBuffer, true, x, y, z, gridSize, extendedGridSize)) + if (!areValuesCorrect(resultBuffer, true, x, y, z, gridSize, extendedGridSize)) return false; } } @@ -1975,10 +1988,13 @@ tcu::TestCaseGroup* createImageAtomicOperationTests (tcu::TestContext& testCtx) if (backingType.type == ImageBackingType::SPARSE && (vkImageType != VK_IMAGE_TYPE_2D && vkImageType != VK_IMAGE_TYPE_3D)) continue; - // Only ADD and EXCHANGE are supported on floating-point + // Only some operations are supported on floating-point if (format.type == tcu::TextureFormat::FLOAT) { - if (operation != ATOMIC_OPERATION_ADD && operation != ATOMIC_OPERATION_EXCHANGE) + if (operation != ATOMIC_OPERATION_ADD && + operation != ATOMIC_OPERATION_EXCHANGE && + operation != ATOMIC_OPERATION_MIN && + operation != ATOMIC_OPERATION_MAX) { continue; } diff --git a/external/vulkancts/modules/vulkan/shaderexecutor/vktAtomicOperationTests.cpp b/external/vulkancts/modules/vulkan/shaderexecutor/vktAtomicOperationTests.cpp index dd16c4c..7462387 100644 --- a/external/vulkancts/modules/vulkan/shaderexecutor/vktAtomicOperationTests.cpp +++ b/external/vulkancts/modules/vulkan/shaderexecutor/vktAtomicOperationTests.cpp @@ -37,6 +37,8 @@ #include "tcuStringTemplate.hpp" #include "tcuResultCollector.hpp" +#include "deFloat16.h" +#include "deMath.hpp" #include "deStringUtil.hpp" #include "deSharedPtr.hpp" #include "deRandom.hpp" @@ -211,7 +213,8 @@ enum enum DataType { - DATA_TYPE_INT32 = 0, + DATA_TYPE_FLOAT16 = 0, + DATA_TYPE_INT32, DATA_TYPE_UINT32, DATA_TYPE_FLOAT32, DATA_TYPE_INT64, @@ -225,6 +228,7 @@ std::string dataType2Str(DataType type) { static const char* const s_names[] = { + "float16_t", "int", "uint", "float", @@ -345,6 +349,18 @@ public: }; +template +bool nanSafeSloppyEquals(T x, T y) +{ + if (deIsIEEENaN(x) && deIsIEEENaN(y)) + return true; + + if (deIsIEEENaN(x) || deIsIEEENaN(y)) + return false; + + return fabs(deToDouble(x) - deToDouble(y)) < 0.00001; +} + template class TestBufferFloatingPoint : public BufferInterface { @@ -364,7 +380,7 @@ public: T input[NUM_ELEMENTS]; T compare[NUM_ELEMENTS]; T output[NUM_ELEMENTS]; - T invocationHitCount[NUM_ELEMENTS]; + deInt32 invocationHitCount[NUM_ELEMENTS]; deInt32 index; }; @@ -385,19 +401,35 @@ public: for (int i = 0; i < NUM_ELEMENTS / 2; i++) { - m_ptr->inout[i] = static_cast(rnd.getFloat()); - // The first half of compare elements match with every even index. - // The second half matches with odd indices. This causes the - // overlapping operations to only select one. - m_ptr->compare[i] = m_ptr->inout[i] + (dataTypeT)(i % 2); - m_ptr->compare[i + NUM_ELEMENTS / 2] = m_ptr->inout[i] + (dataTypeT)(1 - (i % 2)); + m_ptr->inout[i] = deToFloatType(rnd.getFloat()); + // These aren't used by any of the float tests + m_ptr->compare[i] = deToFloatType(0.0); } + // Add special cases for NaN and +/-0 + // 0: min(sNaN, x) + m_ptr->inout[0] = deSignalingNaN(); + // 1: min(x, sNaN) + m_ptr->input[1 * 2 + 0] = deSignalingNaN(); + // 2: min(qNaN, x) + m_ptr->inout[2] = deQuietNaN(); + // 3: min(x, qNaN) + m_ptr->input[3 * 2 + 0] = deQuietNaN(); + // 4: min(NaN, NaN) + m_ptr->inout[4] = deSignalingNaN(); + m_ptr->input[4 * 2 + 0] = deQuietNaN(); + m_ptr->input[4 * 2 + 1] = deQuietNaN(); + // 5: min(+0, -0) + m_ptr->inout[5] = deToFloatType(-0.0); + m_ptr->input[5 * 2 + 0] = deToFloatType(0.0); + m_ptr->input[5 * 2 + 1] = deToFloatType(0.0); + for (int i = 0; i < NUM_ELEMENTS; i++) { - m_ptr->input[i] = static_cast(rnd.getFloat()); + m_ptr->input[i] = deToFloatType(rnd.getFloat()); m_ptr->output[i] = pattern; m_ptr->invocationHitCount[i] = 0; } + m_ptr->index = 0; // Take a copy to be used when calculating expected values. @@ -424,11 +456,9 @@ public: bool compare(T inout, T output0, T output1) { - T diff1 = static_cast(fabs(m_inout - inout)); - T diff2 = static_cast(fabs(m_output[0] - output0)); - T diff3 = static_cast(fabs(m_output[1] - output1)); - const T epsilon = static_cast(0.00001); - return (diff1 < epsilon) && (diff2 < epsilon) && (diff3 < epsilon); + return nanSafeSloppyEquals(m_inout, inout) && + nanSafeSloppyEquals(m_output[0], output0) && + nanSafeSloppyEquals(m_output[1], output1); } }; @@ -447,6 +477,8 @@ static BufferInterface* createTestBuffer(DataType type, AtomicOperation atomicOp { switch (type) { + case DATA_TYPE_FLOAT16: + return new TestBufferFloatingPoint(atomicOp); case DATA_TYPE_INT32: return new TestBuffer(atomicOp); case DATA_TYPE_UINT32: @@ -591,6 +623,83 @@ void TestBuffer::checkOperation (const BufferData& original, } } +template +void handleExceptionalFloatMinMaxValues(vector &values, T x, T y) +{ + + if (deIsSignalingNaN(x) && deIsSignalingNaN(y)) + { + values.push_back(deQuietNaN()); + values.push_back(deSignalingNaN()); + } + else if (deIsSignalingNaN(x)) + { + values.push_back(deQuietNaN()); + values.push_back(deSignalingNaN()); + if (!deIsIEEENaN(y)) + values.push_back(y); + } + else if (deIsSignalingNaN(y)) + { + values.push_back(deQuietNaN()); + values.push_back(deSignalingNaN()); + if (!deIsIEEENaN(x)) + values.push_back(x); + } + else if (deIsIEEENaN(x) && deIsIEEENaN(y)) + { + // Both quiet NaNs + values.push_back(deQuietNaN()); + } + else if (deIsIEEENaN(x)) + { + // One quiet NaN and one non-NaN. + values.push_back(y); + } + else if (deIsIEEENaN(y)) + { + // One quiet NaN and one non-NaN. + values.push_back(x); + } + else if ((deIsPositiveZero(x) && deIsNegativeZero(y)) || (deIsNegativeZero(x) && deIsPositiveZero(y))) + { + values.push_back(deToFloatType(0.0)); + values.push_back(deToFloatType(-0.0)); + } +} + +template +T floatAdd(T x, T y) +{ + if (deIsIEEENaN(x) || deIsIEEENaN(y)) + return deQuietNaN(); + return deToFloatType(deToDouble(x) + deToDouble(y)); +} + +template +vector floatMinValues(T x, T y) +{ + vector values; + handleExceptionalFloatMinMaxValues(values, x, y); + if (values.empty()) + { + values.push_back(deToDouble(x) < deToDouble(y) ? x : y); + } + return values; +} + +template +vector floatMaxValues(T x, T y) +{ + vector values; + handleExceptionalFloatMinMaxValues(values, x, y); + if (values.empty()) + { + values.push_back(deToDouble(x) > deToDouble(y) ? x : y); + } + return values; +} + // Use template to handle both float and double cases. SPIR-V should // have separate operations for both. template @@ -626,8 +735,60 @@ void TestBufferFloatingPoint::checkOperationFloatingPoint(const BufferDataFlo { case ATOMIC_OP_ADD: { - exp.push_back(Expected(originalInout + input0 + input1, originalInout, originalInout + input0)); - exp.push_back(Expected(originalInout + input0 + input1, originalInout + input1, originalInout)); + exp.push_back(Expected(floatAdd(floatAdd(originalInout, input0), input1), originalInout, floatAdd(originalInout, input0))); + exp.push_back(Expected(floatAdd(floatAdd(originalInout, input0), input1), floatAdd(originalInout, input1), originalInout)); + } + break; + + case ATOMIC_OP_MIN: + { + // The case where input0 is combined first + vector minOriginalAndInput0 = floatMinValues(originalInout, input0); + for (T x : minOriginalAndInput0) + { + vector minAll = floatMinValues(x, input1); + for (T y : minAll) + { + exp.push_back(Expected(y, originalInout, x)); + } + } + + // The case where input1 is combined first + vector minOriginalAndInput1 = floatMinValues(originalInout, input1); + for (T x : minOriginalAndInput1) + { + vector minAll = floatMinValues(x, input0); + for (T y : minAll) + { + exp.push_back(Expected(y, x, originalInout)); + } + } + } + break; + + case ATOMIC_OP_MAX: + { + // The case where input0 is combined first + vector minOriginalAndInput0 = floatMaxValues(originalInout, input0); + for (T x : minOriginalAndInput0) + { + vector minAll = floatMaxValues(x, input1); + for (T y : minAll) + { + exp.push_back(Expected(y, originalInout, x)); + } + } + + // The case where input1 is combined first + vector minOriginalAndInput1 = floatMaxValues(originalInout, input1); + for (T x : minOriginalAndInput1) + { + vector minAll = floatMaxValues(x, input0); + for (T y : minAll) + { + exp.push_back(Expected(y, x, originalInout)); + } + } } break; @@ -648,17 +809,37 @@ void TestBufferFloatingPoint::checkOperationFloatingPoint(const BufferDataFlo const T resOutput1 = result.output[elementNdx + NUM_ELEMENTS / 2]; - if (!exp[0].compare(resIo, resOutput0, resOutput1) && !exp[1].compare(resIo, resOutput0, resOutput1)) + bool hasMatch = false; + for (Expected e : exp) + { + if (e.compare(resIo, resOutput0, resOutput1)) + { + hasMatch = true; + break; + } + } + if (!hasMatch) { std::ostringstream errorMessage; errorMessage << "ERROR: Result value check failed at index " << elementNdx - << ". Expected one of the two outcomes: InOut = " << exp[0].m_inout - << ", Output0 = " << exp[0].m_output[0] << ", Output1 = " - << exp[0].m_output[1] << ", or InOut = " << exp[1].m_inout - << ", Output0 = " << exp[1].m_output[0] << ", Output1 = " - << exp[1].m_output[1] << ". Got: InOut = " << resIo - << ", Output0 = " << resOutput0 << ", Output1 = " - << resOutput1 << ". Using Input0 = " << original.input[elementNdx] + << ". Expected one of the outcomes:"; + + bool first = true; + for (Expected e : exp) + { + if (!first) + errorMessage << ", or"; + first = false; + + errorMessage << " InOut = " << e.m_inout + << ", Output0 = " << e.m_output[0] + << ", Output1 = " << e.m_output[1]; + } + + errorMessage << ". Got: InOut = " << resIo + << ", Output0 = " << resOutput0 + << ", Output1 = " << resOutput1 + << ". Using Input0 = " << original.input[elementNdx] << " and Input1 = " << original.input[elementNdx + NUM_ELEMENTS / 2] << "."; resultCollector.fail(errorMessage.str()); @@ -898,6 +1079,62 @@ void AtomicOperationCase::checkSupport (Context& ctx) const } } + if (m_dataType == DATA_TYPE_FLOAT16) + { + ctx.requireDeviceFunctionality("VK_EXT_shader_atomic_float2"); + if (m_atomicOp == ATOMIC_OP_ADD) + { + if (m_shaderType.getMemoryType() == AtomicMemoryType::SHARED) + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderSharedFloat16AtomicAdd) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat16: 16-bit floating point shared add atomic operation not supported"); + } + } + else + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderBufferFloat16AtomicAdd) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat16: 16-bit floating point buffer add atomic operation not supported"); + } + } + } + if (m_atomicOp == ATOMIC_OP_MIN || m_atomicOp == ATOMIC_OP_MAX) + { + if (m_shaderType.getMemoryType() == AtomicMemoryType::SHARED) + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderSharedFloat16AtomicMinMax) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat16: 16-bit floating point shared min/max atomic operation not supported"); + } + } + else + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderBufferFloat16AtomicMinMax) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat16: 16-bit floating point buffer min/max atomic operation not supported"); + } + } + } + if (m_atomicOp == ATOMIC_OP_EXCHANGE) + { + if (m_shaderType.getMemoryType() == AtomicMemoryType::SHARED) + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderSharedFloat16Atomics) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat16: 16-bit floating point shared atomic operations not supported"); + } + } + else + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderBufferFloat16Atomics) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat16: 16-bit floating point buffer atomic operations not supported"); + } + } + } + } + if (m_dataType == DATA_TYPE_FLOAT32) { ctx.requireDeviceFunctionality("VK_EXT_shader_atomic_float"); @@ -918,6 +1155,24 @@ void AtomicOperationCase::checkSupport (Context& ctx) const } } } + if (m_atomicOp == ATOMIC_OP_MIN || m_atomicOp == ATOMIC_OP_MAX) + { + ctx.requireDeviceFunctionality("VK_EXT_shader_atomic_float2"); + if (m_shaderType.getMemoryType() == AtomicMemoryType::SHARED) + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderSharedFloat32AtomicMinMax) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat32: 32-bit floating point shared min/max atomic operation not supported"); + } + } + else + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderBufferFloat32AtomicMinMax) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat32: 32-bit floating point buffer min/max atomic operation not supported"); + } + } + } if (m_atomicOp == ATOMIC_OP_EXCHANGE) { if (m_shaderType.getMemoryType() == AtomicMemoryType::SHARED) @@ -957,6 +1212,24 @@ void AtomicOperationCase::checkSupport (Context& ctx) const } } } + if (m_atomicOp == ATOMIC_OP_MIN || m_atomicOp == ATOMIC_OP_MAX) + { + ctx.requireDeviceFunctionality("VK_EXT_shader_atomic_float2"); + if (m_shaderType.getMemoryType() == AtomicMemoryType::SHARED) + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderSharedFloat64AtomicMinMax) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat64: 64-bit floating point shared min/max atomic operation not supported"); + } + } + else + { + if (!ctx.getShaderAtomicFloat2FeaturesEXT().shaderBufferFloat64AtomicMinMax) + { + TCU_THROW(NotSupportedError, "VkShaderAtomicFloat64: 64-bit floating point buffer min/max atomic operation not supported"); + } + } + } if (m_atomicOp == ATOMIC_OP_EXCHANGE) { if (m_shaderType.getMemoryType() == AtomicMemoryType::SHARED) @@ -1138,10 +1411,12 @@ void AtomicOperationCase::createShaderSpec (void) << "#extension GL_EXT_shader_atomic_int64 : enable\n" ; } - else if ((m_dataType == DATA_TYPE_FLOAT32) || (m_dataType == DATA_TYPE_FLOAT64)) + else if ((m_dataType == DATA_TYPE_FLOAT16) || (m_dataType == DATA_TYPE_FLOAT32) || (m_dataType == DATA_TYPE_FLOAT64)) { extensions + << "#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable\n" << "#extension GL_EXT_shader_atomic_float : enable\n" + << "#extension GL_EXT_shader_atomic_float2 : enable\n" << "#extension GL_KHR_memory_scope_semantics : enable\n" ; } @@ -1213,6 +1488,7 @@ void addAtomicOperationTests (tcu::TestCaseGroup* atomicOperationTestsGroup) const char* description; } dataSign[] = { + { DATA_TYPE_FLOAT16,"float16", "Tests using 16-bit float data" }, { DATA_TYPE_INT32, "signed", "Tests using signed data (int)" }, { DATA_TYPE_UINT32, "unsigned", "Tests using unsigned data (uint)" }, { DATA_TYPE_FLOAT32,"float32", "Tests using 32-bit float data" }, @@ -1244,9 +1520,12 @@ void addAtomicOperationTests (tcu::TestCaseGroup* atomicOperationTestsGroup) for (int shaderTypeNdx = 0; shaderTypeNdx < DE_LENGTH_OF_ARRAY(shaderTypes); shaderTypeNdx++) { // Only ADD and EXCHANGE are supported on floating-point - if (dataSign[signNdx].dataType == DATA_TYPE_FLOAT32 || dataSign[signNdx].dataType == DATA_TYPE_FLOAT64) + if (dataSign[signNdx].dataType == DATA_TYPE_FLOAT16 || dataSign[signNdx].dataType == DATA_TYPE_FLOAT32 || dataSign[signNdx].dataType == DATA_TYPE_FLOAT64) { - if (atomicOp[opNdx].value != ATOMIC_OP_ADD && atomicOp[opNdx].value != ATOMIC_OP_EXCHANGE) + if (atomicOp[opNdx].value != ATOMIC_OP_ADD && + atomicOp[opNdx].value != ATOMIC_OP_MIN && + atomicOp[opNdx].value != ATOMIC_OP_MAX && + atomicOp[opNdx].value != ATOMIC_OP_EXCHANGE) { continue; } diff --git a/external/vulkancts/mustpass/master/vk-default/glsl.txt b/external/vulkancts/mustpass/master/vk-default/glsl.txt index 073297d..9137e52 100644 --- a/external/vulkancts/mustpass/master/vk-default/glsl.txt +++ b/external/vulkancts/mustpass/master/vk-default/glsl.txt @@ -16582,6 +16582,19 @@ dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_geometry dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_tess_ctrl dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_tess_eval dEQP-VK.glsl.opaque_type_indexing.atomic_counter.dynamically_uniform_compute +dEQP-VK.glsl.atomic_operations.exchange_float16_vertex +dEQP-VK.glsl.atomic_operations.exchange_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_fragment +dEQP-VK.glsl.atomic_operations.exchange_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_geometry +dEQP-VK.glsl.atomic_operations.exchange_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_eval +dEQP-VK.glsl.atomic_operations.exchange_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.exchange_float16_compute +dEQP-VK.glsl.atomic_operations.exchange_float16_compute_shared +dEQP-VK.glsl.atomic_operations.exchange_float16_compute_reference dEQP-VK.glsl.atomic_operations.exchange_signed_vertex dEQP-VK.glsl.atomic_operations.exchange_signed_vertex_reference dEQP-VK.glsl.atomic_operations.exchange_signed_fragment @@ -16712,6 +16725,19 @@ dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.comp_swap_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.add_float16_vertex +dEQP-VK.glsl.atomic_operations.add_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.add_float16_fragment +dEQP-VK.glsl.atomic_operations.add_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.add_float16_geometry +dEQP-VK.glsl.atomic_operations.add_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.add_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.add_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.add_float16_tess_eval +dEQP-VK.glsl.atomic_operations.add_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.add_float16_compute +dEQP-VK.glsl.atomic_operations.add_float16_compute_shared +dEQP-VK.glsl.atomic_operations.add_float16_compute_reference dEQP-VK.glsl.atomic_operations.add_signed_vertex dEQP-VK.glsl.atomic_operations.add_signed_vertex_reference dEQP-VK.glsl.atomic_operations.add_signed_fragment @@ -16790,6 +16816,19 @@ dEQP-VK.glsl.atomic_operations.add_float64_tess_eval_reference dEQP-VK.glsl.atomic_operations.add_float64_compute dEQP-VK.glsl.atomic_operations.add_float64_compute_shared dEQP-VK.glsl.atomic_operations.add_float64_compute_reference +dEQP-VK.glsl.atomic_operations.min_float16_vertex +dEQP-VK.glsl.atomic_operations.min_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float16_fragment +dEQP-VK.glsl.atomic_operations.min_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float16_geometry +dEQP-VK.glsl.atomic_operations.min_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float16_tess_eval +dEQP-VK.glsl.atomic_operations.min_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float16_compute +dEQP-VK.glsl.atomic_operations.min_float16_compute_shared +dEQP-VK.glsl.atomic_operations.min_float16_compute_reference dEQP-VK.glsl.atomic_operations.min_signed_vertex dEQP-VK.glsl.atomic_operations.min_signed_vertex_reference dEQP-VK.glsl.atomic_operations.min_signed_fragment @@ -16816,6 +16855,19 @@ dEQP-VK.glsl.atomic_operations.min_unsigned_tess_eval_reference dEQP-VK.glsl.atomic_operations.min_unsigned_compute dEQP-VK.glsl.atomic_operations.min_unsigned_compute_shared dEQP-VK.glsl.atomic_operations.min_unsigned_compute_reference +dEQP-VK.glsl.atomic_operations.min_float32_vertex +dEQP-VK.glsl.atomic_operations.min_float32_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float32_fragment +dEQP-VK.glsl.atomic_operations.min_float32_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float32_geometry +dEQP-VK.glsl.atomic_operations.min_float32_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float32_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float32_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float32_tess_eval +dEQP-VK.glsl.atomic_operations.min_float32_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float32_compute +dEQP-VK.glsl.atomic_operations.min_float32_compute_shared +dEQP-VK.glsl.atomic_operations.min_float32_compute_reference dEQP-VK.glsl.atomic_operations.min_signed64bit_vertex dEQP-VK.glsl.atomic_operations.min_signed64bit_vertex_reference dEQP-VK.glsl.atomic_operations.min_signed64bit_fragment @@ -16842,6 +16894,32 @@ dEQP-VK.glsl.atomic_operations.min_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.min_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.min_float64_vertex +dEQP-VK.glsl.atomic_operations.min_float64_vertex_reference +dEQP-VK.glsl.atomic_operations.min_float64_fragment +dEQP-VK.glsl.atomic_operations.min_float64_fragment_reference +dEQP-VK.glsl.atomic_operations.min_float64_geometry +dEQP-VK.glsl.atomic_operations.min_float64_geometry_reference +dEQP-VK.glsl.atomic_operations.min_float64_tess_ctrl +dEQP-VK.glsl.atomic_operations.min_float64_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.min_float64_tess_eval +dEQP-VK.glsl.atomic_operations.min_float64_tess_eval_reference +dEQP-VK.glsl.atomic_operations.min_float64_compute +dEQP-VK.glsl.atomic_operations.min_float64_compute_shared +dEQP-VK.glsl.atomic_operations.min_float64_compute_reference +dEQP-VK.glsl.atomic_operations.max_float16_vertex +dEQP-VK.glsl.atomic_operations.max_float16_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float16_fragment +dEQP-VK.glsl.atomic_operations.max_float16_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float16_geometry +dEQP-VK.glsl.atomic_operations.max_float16_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float16_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float16_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float16_tess_eval +dEQP-VK.glsl.atomic_operations.max_float16_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float16_compute +dEQP-VK.glsl.atomic_operations.max_float16_compute_shared +dEQP-VK.glsl.atomic_operations.max_float16_compute_reference dEQP-VK.glsl.atomic_operations.max_signed_vertex dEQP-VK.glsl.atomic_operations.max_signed_vertex_reference dEQP-VK.glsl.atomic_operations.max_signed_fragment @@ -16868,6 +16946,19 @@ dEQP-VK.glsl.atomic_operations.max_unsigned_tess_eval_reference dEQP-VK.glsl.atomic_operations.max_unsigned_compute dEQP-VK.glsl.atomic_operations.max_unsigned_compute_shared dEQP-VK.glsl.atomic_operations.max_unsigned_compute_reference +dEQP-VK.glsl.atomic_operations.max_float32_vertex +dEQP-VK.glsl.atomic_operations.max_float32_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float32_fragment +dEQP-VK.glsl.atomic_operations.max_float32_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float32_geometry +dEQP-VK.glsl.atomic_operations.max_float32_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float32_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float32_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float32_tess_eval +dEQP-VK.glsl.atomic_operations.max_float32_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float32_compute +dEQP-VK.glsl.atomic_operations.max_float32_compute_shared +dEQP-VK.glsl.atomic_operations.max_float32_compute_reference dEQP-VK.glsl.atomic_operations.max_signed64bit_vertex dEQP-VK.glsl.atomic_operations.max_signed64bit_vertex_reference dEQP-VK.glsl.atomic_operations.max_signed64bit_fragment @@ -16894,6 +16985,19 @@ dEQP-VK.glsl.atomic_operations.max_unsigned64bit_tess_eval_reference dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute_shared dEQP-VK.glsl.atomic_operations.max_unsigned64bit_compute_reference +dEQP-VK.glsl.atomic_operations.max_float64_vertex +dEQP-VK.glsl.atomic_operations.max_float64_vertex_reference +dEQP-VK.glsl.atomic_operations.max_float64_fragment +dEQP-VK.glsl.atomic_operations.max_float64_fragment_reference +dEQP-VK.glsl.atomic_operations.max_float64_geometry +dEQP-VK.glsl.atomic_operations.max_float64_geometry_reference +dEQP-VK.glsl.atomic_operations.max_float64_tess_ctrl +dEQP-VK.glsl.atomic_operations.max_float64_tess_ctrl_reference +dEQP-VK.glsl.atomic_operations.max_float64_tess_eval +dEQP-VK.glsl.atomic_operations.max_float64_tess_eval_reference +dEQP-VK.glsl.atomic_operations.max_float64_compute +dEQP-VK.glsl.atomic_operations.max_float64_compute_shared +dEQP-VK.glsl.atomic_operations.max_float64_compute_reference dEQP-VK.glsl.atomic_operations.and_signed_vertex dEQP-VK.glsl.atomic_operations.and_signed_vertex_reference dEQP-VK.glsl.atomic_operations.and_signed_fragment diff --git a/external/vulkancts/mustpass/master/vk-default/image.txt b/external/vulkancts/mustpass/master/vk-default/image.txt index c112417..1660d28 100644 --- a/external/vulkancts/mustpass/master/vk-default/image.txt +++ b/external/vulkancts/mustpass/master/vk-default/image.txt @@ -17326,6 +17326,8 @@ dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.notransfer.normal_read.normal_img.r64i_end_result @@ -17334,6 +17336,8 @@ dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d.transfer.normal_read.normal_img.r64i_end_result @@ -17342,6 +17346,8 @@ dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17350,6 +17356,8 @@ dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.1d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17358,6 +17366,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.normal_img.r64i_end_result @@ -17366,6 +17376,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17374,6 +17386,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17382,6 +17396,8 @@ dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17390,6 +17406,8 @@ dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.normal_img.r64i_end_result @@ -17398,6 +17416,8 @@ dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d.transfer.normal_read.sparse_img.r64i_end_result @@ -17406,6 +17426,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17414,6 +17436,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17422,6 +17446,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17430,6 +17456,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17438,6 +17466,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17446,6 +17476,8 @@ dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32 dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.2d_array.transfer.normal_read.sparse_img.r64i_end_result @@ -17454,6 +17486,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.normal_img.r64i_end_result @@ -17462,6 +17496,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17470,6 +17506,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17478,6 +17516,8 @@ dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17486,6 +17526,8 @@ dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.normal_img.r64i_end_result @@ -17494,6 +17536,8 @@ dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.3d.transfer.normal_read.sparse_img.r64i_end_result @@ -17502,6 +17546,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.normal_img.r64i_end_result @@ -17510,6 +17556,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.normal_read.sparse_img.r64i_end_result @@ -17518,6 +17566,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.normal_img.r64i_end_result @@ -17526,6 +17576,8 @@ dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17534,6 +17586,8 @@ dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.normal_img.r64i_end_result @@ -17542,6 +17596,8 @@ dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube.transfer.normal_read.sparse_img.r64i_end_result @@ -17550,6 +17606,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17558,6 +17616,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17566,6 +17626,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17574,6 +17636,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17582,6 +17646,8 @@ dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.normal_img.r64i_end_result @@ -17590,14 +17656,22 @@ dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.min.cube_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.min.buffer.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.buffer.notransfer.normal_read.normal_img.r32f_intermediate_values +dEQP-VK.image.atomic_operations.min.buffer.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.min.buffer.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32ui_end_result dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.notransfer.normal_read.normal_img.r64i_end_result @@ -17606,6 +17680,8 @@ dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d.transfer.normal_read.normal_img.r64i_end_result @@ -17614,6 +17690,8 @@ dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17622,6 +17700,8 @@ dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.1d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17630,6 +17710,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.normal_img.r64i_end_result @@ -17638,6 +17720,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17646,6 +17730,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17654,6 +17740,8 @@ dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17662,6 +17750,8 @@ dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.normal_img.r64i_end_result @@ -17670,6 +17760,8 @@ dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d.transfer.normal_read.sparse_img.r64i_end_result @@ -17678,6 +17770,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17686,6 +17780,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17694,6 +17790,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17702,6 +17800,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17710,6 +17810,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32 dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.normal_img.r64i_end_result @@ -17718,6 +17820,8 @@ dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32 dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.2d_array.transfer.normal_read.sparse_img.r64i_end_result @@ -17726,6 +17830,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.normal_img.r64i_end_result @@ -17734,6 +17840,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.normal_read.sparse_img.r64i_end_result @@ -17742,6 +17850,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.normal_img.r64i_end_result @@ -17750,6 +17860,8 @@ dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17758,6 +17870,8 @@ dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32ui_end dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.normal_img.r64i_end_result @@ -17766,6 +17880,8 @@ dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32ui_end dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.3d.transfer.normal_read.sparse_img.r64i_end_result @@ -17774,6 +17890,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.normal_img.r64i_end_result @@ -17782,6 +17900,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.normal_read.sparse_img.r64i_end_result @@ -17790,6 +17910,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.normal_img.r64i_end_result @@ -17798,6 +17920,8 @@ dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32ui dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17806,6 +17930,8 @@ dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32ui_e dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.normal_img.r64i_end_result @@ -17814,6 +17940,8 @@ dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32ui_e dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube.transfer.normal_read.sparse_img.r64i_end_result @@ -17822,6 +17950,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.normal_img.r64i_end_result @@ -17830,6 +17960,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.normal_read.sparse_img.r64i_end_result @@ -17838,6 +17970,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.normal_img.r64i_end_result @@ -17846,6 +17980,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.notransfer.sparse_read.sparse_img.r64i_end_result @@ -17854,6 +17990,8 @@ dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.normal_img.r64i_end_result @@ -17862,10 +18000,16 @@ dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32i_intermediate_values +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64ui_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64ui_intermediate_values dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64i_end_result dEQP-VK.image.atomic_operations.max.cube_array.transfer.normal_read.sparse_img.r64i_intermediate_values +dEQP-VK.image.atomic_operations.max.buffer.notransfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.buffer.notransfer.normal_read.normal_img.r32f_intermediate_values +dEQP-VK.image.atomic_operations.max.buffer.transfer.normal_read.normal_img.r32f_end_result +dEQP-VK.image.atomic_operations.max.buffer.transfer.normal_read.normal_img.r32f_intermediate_values dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r32ui_end_result dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r32ui_intermediate_values dEQP-VK.image.atomic_operations.and.1d.notransfer.normal_read.normal_img.r32i_end_result diff --git a/external/vulkancts/scripts/src/mandatory_features.txt b/external/vulkancts/scripts/src/mandatory_features.txt index f30c336..d548d81 100644 --- a/external/vulkancts/scripts/src/mandatory_features.txt +++ b/external/vulkancts/scripts/src/mandatory_features.txt @@ -148,3 +148,4 @@ VkPhysicalDeviceMultiDrawFeaturesEXT FEATURES ( multiDraw ) REQUI VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR FEATURES ( shaderSubgroupUniformControlFlow ) REQUIREMENTS ( VK_KHR_shader_subgroup_uniform_control_flow ) VkPhysicalDevicePresentIdFeaturesKHR FEATURES ( presentId ) REQUIREMENTS ( VK_KHR_present_id ) VkPhysicalDevicePresentWaitFeaturesKHR FEATURES ( presentWait ) REQUIREMENTS ( VK_KHR_present_wait ) +VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT FEATURES ( shaderImageFloat32AtomicMinMax ) REQUIREMENTS ( VK_EXT_shader_atomic_float2 physicalDeviceShaderAtomicFloat2FeaturesEXT.sparseImageFloat32AtomicMinMax ) diff --git a/framework/delibs/debase/deFloat16.h b/framework/delibs/debase/deFloat16.h index 576b1b7..c43f92b 100644 --- a/framework/delibs/debase/deFloat16.h +++ b/framework/delibs/debase/deFloat16.h @@ -59,6 +59,37 @@ float deFloat16To32 (deFloat16 val16); * \return Converted 64-bit floating-point value. *//*--------------------------------------------------------------------*/ double deFloat16To64 (deFloat16 val16); + +DE_INLINE deBool deHalfIsPositiveZero(deFloat16 x) +{ + return deFloat16To32(x) == 0 && (x >> 15) == 0; +} + +DE_INLINE deBool deHalfIsNegativeZero(deFloat16 x) +{ + return deFloat16To32(x) == 0 && (x >> 15) != 0; +} + +static const deFloat16 deFloat16SignalingNaN = 0x7c01; +static const deFloat16 deFloat16QuietNaN = 0x7e01; + +DE_INLINE deBool deHalfIsIEEENaN(deFloat16 x) +{ + deUint16 e = (x & 0x7c00u) >> 10; + deUint16 m = (x & 0x03ffu); + return e == 0x1f && m != 0; +} + +DE_INLINE deBool deHalfIsSignalingNaN(deFloat16 x) +{ + return deHalfIsIEEENaN(x) && (x & (1u << 9)) == 0; +} + +DE_INLINE deBool deHalfIsQuietNaN(deFloat16 x) +{ + return deHalfIsIEEENaN(x) && (x & (1u << 9)) != 0; +} + DE_END_EXTERN_C #endif /* _DEFLOAT16_H */ diff --git a/framework/delibs/debase/deMath.h b/framework/delibs/debase/deMath.h index f9ea13e..cd926c5 100644 --- a/framework/delibs/debase/deMath.h +++ b/framework/delibs/debase/deMath.h @@ -24,6 +24,7 @@ *//*--------------------------------------------------------------------*/ #include "deDefs.h" +#include "deMemory.h" #include #include @@ -69,6 +70,82 @@ DE_INLINE deBool deFloatIsNaN (float x) { return (x != x); } DE_INLINE int deIsInf (double x) { return (x > DBL_MAX) - (x < -DBL_MAX); } DE_INLINE deBool deIsNaN (double x) { return (x != x); } +DE_INLINE deUint32 deFloatBitsToUint32(float x) +{ + deUint32 bits; + deMemcpy((void *)&bits, (void *)&x, 4); + return bits; +} + +DE_INLINE deUint64 deDoubleBitsToUint64(double x) +{ + deUint64 bits; + deMemcpy((void *)&bits, (void *)&x, 8); + return bits; +} + +DE_INLINE deBool deFloatIsPositiveZero(float x) +{ + return x == 0 && (deFloatBitsToUint32(x) >> 31) == 0; +} + +DE_INLINE deBool deDoubleIsPositiveZero(double x) +{ + return x == 0 && (deDoubleBitsToUint64(x) >> 63) == 0; +} + +DE_INLINE deBool deFloatIsNegativeZero(float x) +{ + return x == 0 && (deFloatBitsToUint32(x) >> 31) != 0; +} + +DE_INLINE deBool deDoubleIsNegativeZero(double x) +{ + return x == 0 && (deDoubleBitsToUint64(x) >> 63) != 0; +} + +DE_INLINE deBool deFloatIsIEEENaN(float x) +{ + deUint32 e = (deFloatBitsToUint32(x) & 0x7f800000u) >> 23; + deUint32 m = (deFloatBitsToUint32(x) & 0x007fffffu); + return e == 0xff && m != 0; +} + +DE_INLINE deBool deDoubleIsIEEENaN(double x) +{ + deUint64 e = (deDoubleBitsToUint64(x) & 0x7ff0000000000000ull) >> 52; + deUint64 m = (deDoubleBitsToUint64(x) & 0x000fffffffffffffull); + return e == 0x7ff && m != 0; +} + +/* \note The definition used for signaling NaN here is valid for ARM and + * x86 but possibly not for other platforms. + * + * These are defined as overloads so that they can be used in templated + * code without risking a type conversion which would triggern an exception + * on a signaling NaN. We don't use deIsNan in these helpers because they + * do a comparison operation which may also trigger exceptions. + */ +DE_INLINE deBool deFloatIsSignalingNaN(float x) +{ + return deFloatIsIEEENaN(x) && (deFloatBitsToUint32(x) & (1u << 22)) == 0; +} + +DE_INLINE deBool deDoubleIsSignalingNaN(double x) +{ + return deDoubleIsIEEENaN(x) && (deDoubleBitsToUint64(x) & (1ull << 51)) == 0; +} + +DE_INLINE deBool deFloatIsQuietNaN(float x) +{ + return deFloatIsIEEENaN(x) && (deFloatBitsToUint32(x) & (1u << 22)) != 0; +} + +DE_INLINE deBool deDoubleIsQuietNaN(double x) +{ + return deDoubleIsIEEENaN(x) && (deDoubleBitsToUint64(x) & (1ull << 51)) != 0; +} + /* Basic utilities. */ DE_INLINE float deFloatAbs (float x) { return (x >= 0.0f) ? x : -x; } diff --git a/framework/delibs/decpp/CMakeLists.txt b/framework/delibs/decpp/CMakeLists.txt index 4f20687..b9417c2 100644 --- a/framework/delibs/decpp/CMakeLists.txt +++ b/framework/delibs/decpp/CMakeLists.txt @@ -23,6 +23,7 @@ set(DECPP_SRCS deDynamicLibrary.hpp deFilePath.cpp deFilePath.hpp + deMath.hpp deMemPool.cpp deMemPool.hpp deMeta.cpp diff --git a/framework/delibs/decpp/deMath.hpp b/framework/delibs/decpp/deMath.hpp new file mode 100644 index 0000000..b213430 --- /dev/null +++ b/framework/delibs/decpp/deMath.hpp @@ -0,0 +1,90 @@ +#ifndef _DEMATH_HPP +#define _DEMATH_HPP +/*------------------------------------------------------------------------- + * drawElements Base Portability Library + * ------------------------------------- + * + * Copyright 2014 The Android Open Source Project + * + * 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 Basic mathematical operations. + *//*--------------------------------------------------------------------*/ + +#include "deFloat16.h" +#include "deMath.h" + +#include + +DE_INLINE double deToDouble (deFloat16 x) { return deFloat16To64(x); } +DE_INLINE double deToDouble (float x) { return x; }; +DE_INLINE double deToDouble (double x) { return x; }; + +template +inline T deToFloatType(double x) +{ + return static_cast(x); +} + +template <> +inline deFloat16 deToFloatType(double x) +{ + return deFloat64To16(x); +} + +// These helpers make the C helpers usable from templates. Because some of +// these deal with signaling NaN, it's important that no implicit float +// conversion operations happen. +DE_INLINE deBool deIsPositiveZero (deFloat16 x) { return deHalfIsPositiveZero(x); }; +DE_INLINE deBool deIsPositiveZero (float x) { return deFloatIsPositiveZero(x); }; +DE_INLINE deBool deIsPositiveZero (double x) { return deDoubleIsPositiveZero(x); }; +DE_INLINE deBool deIsNegativeZero (deFloat16 x) { return deHalfIsNegativeZero(x); }; +DE_INLINE deBool deIsNegativeZero (float x) { return deFloatIsNegativeZero(x); }; +DE_INLINE deBool deIsNegativeZero (double x) { return deDoubleIsNegativeZero(x); }; +DE_INLINE deBool deIsIEEENaN (deFloat16 x) { return deHalfIsIEEENaN(x); }; +DE_INLINE deBool deIsIEEENaN (float x) { return deFloatIsIEEENaN(x); }; +DE_INLINE deBool deIsIEEENaN (double x) { return deDoubleIsIEEENaN(x); }; +DE_INLINE deBool deIsSignalingNaN (deFloat16 x) { return deHalfIsSignalingNaN(x); }; +DE_INLINE deBool deIsSignalingNaN (float x) { return deFloatIsSignalingNaN(x); }; +DE_INLINE deBool deIsSignalingNaN (double x) { return deDoubleIsSignalingNaN(x); }; +DE_INLINE deBool deIsQuietNaN (deFloat16 x) { return deHalfIsQuietNaN(x); }; +DE_INLINE deBool deIsQuietNaN (float x) { return deFloatIsQuietNaN(x); }; +DE_INLINE deBool deIsQuietNaN (double x) { return deDoubleIsQuietNaN(x); }; + +template +inline T deQuietNaN() +{ + return std::numeric_limits::quiet_NaN(); +} + +template<> +inline deFloat16 deQuietNaN() +{ + return deFloat16QuietNaN; +} + +template +inline T deSignalingNaN() +{ + return std::numeric_limits::signaling_NaN(); +} + +template<> +inline deFloat16 deSignalingNaN() +{ + return deFloat16SignalingNaN; +} + +#endif // _DEMATH_HPP -- 2.7.4