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)
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.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_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_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_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_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_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_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.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_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.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_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_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_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_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_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.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.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.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.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.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_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_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_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_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_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_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_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_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_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_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.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.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.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.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.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_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.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_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_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_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_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_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.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.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.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.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.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_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_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_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_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_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_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_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_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_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_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.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.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.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.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.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_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_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_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_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_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_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_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_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_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.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.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_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_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_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_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_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_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.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.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.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.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.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.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_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_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_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_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_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_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_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_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_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_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_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_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.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.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.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.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.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.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_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.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.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_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_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_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_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_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_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.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.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.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.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.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.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_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_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_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_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_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_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_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_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_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_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_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_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.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.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.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.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.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.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 @@
nextPtr = &physicalDeviceSeparateDepthStencilLayoutsFeaturesKHR.pNext;
}
+ vk::VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT physicalDeviceShaderAtomicFloat2FeaturesEXT;
+ deMemset(&physicalDeviceShaderAtomicFloat2FeaturesEXT, 0, sizeof(physicalDeviceShaderAtomicFloat2FeaturesEXT));
+
+ if ( isExtensionSupported(deviceExtensions, RequiredExtension("VK_EXT_shader_atomic_float2")) )
+ {
+ physicalDeviceShaderAtomicFloat2FeaturesEXT.sType = getStructureType<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>();
+ *nextPtr = &physicalDeviceShaderAtomicFloat2FeaturesEXT;
+ nextPtr = &physicalDeviceShaderAtomicFloat2FeaturesEXT.pNext;
+ }
+
vk::VkPhysicalDeviceShaderAtomicFloatFeaturesEXT physicalDeviceShaderAtomicFloatFeaturesEXT;
deMemset(&physicalDeviceShaderAtomicFloatFeaturesEXT, 0, sizeof(physicalDeviceShaderAtomicFloatFeaturesEXT));
@@ -1876,6 +1886,15 @@
}
}
+ 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 @@
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 @@
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 @@
"(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 @@
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<deUint32>(*((float*)resultValue));
+ floatToIntValue = static_cast<deInt32>(*((float*)resultValue));
}
if (isOrderIndependentAtomicOperation(m_operation))
@@ -1492,7 +1505,7 @@
else
{
// 32-bit floating point
- if (!isValueCorrect<deUint32>(floatToUnsignedValue, x, y, z, gridSize, extendedGridSize))
+ if (!isValueCorrect<deInt32>(floatToIntValue, x, y, z, gridSize, extendedGridSize))
return false;
}
}
@@ -1507,7 +1520,7 @@
matchFound = is64Bit ?
(*((deInt64*)resultValue) == getAtomicFuncArgument<deInt64>(m_operation, gid, extendedGridSize)) :
isFloatValue ?
- floatToUnsignedValue == getAtomicFuncArgument<deUint32>(m_operation, gid, extendedGridSize) :
+ floatToIntValue == getAtomicFuncArgument<deInt32>(m_operation, gid, extendedGridSize) :
(*((deInt32*)resultValue) == getAtomicFuncArgument<deInt32>(m_operation, gid, extendedGridSize));
}
@@ -1526,7 +1539,7 @@
matchFound = is64Bit ?
(*((deInt64*)resultValue) == getAtomicFuncArgument<deInt64>(m_operation, gid, extendedGridSize)) :
isFloatValue ?
- floatToUnsignedValue == getAtomicFuncArgument<deUint32>(m_operation, gid, extendedGridSize) :
+ floatToIntValue == getAtomicFuncArgument<deInt32>(m_operation, gid, extendedGridSize) :
(*((deInt32*)resultValue) == getAtomicFuncArgument<deInt32>(m_operation, gid, extendedGridSize));
}
@@ -1802,7 +1815,7 @@
else
{
// 32-bit floating point
- if (!areValuesCorrect<deUint32>(resultBuffer, true, x, y, z, gridSize, extendedGridSize))
+ if (!areValuesCorrect<deInt32>(resultBuffer, true, x, y, z, gridSize, extendedGridSize))
return false;
}
}
@@ -1975,10 +1988,13 @@
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 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 @@
{
static const char* const s_names[] =
{
+ "float16_t",
"int",
"uint",
"float",
@@ -345,6 +349,18 @@
};
+template<typename T>
+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<typename dataTypeT>
class TestBufferFloatingPoint : public BufferInterface
{
@@ -364,7 +380,7 @@
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 @@
for (int i = 0; i < NUM_ELEMENTS / 2; i++)
{
- m_ptr->inout[i] = static_cast<dataTypeT>(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<dataTypeT>(rnd.getFloat());
+ // These aren't used by any of the float tests
+ m_ptr->compare[i] = deToFloatType<dataTypeT>(0.0);
}
+ // Add special cases for NaN and +/-0
+ // 0: min(sNaN, x)
+ m_ptr->inout[0] = deSignalingNaN<dataTypeT>();
+ // 1: min(x, sNaN)
+ m_ptr->input[1 * 2 + 0] = deSignalingNaN<dataTypeT>();
+ // 2: min(qNaN, x)
+ m_ptr->inout[2] = deQuietNaN<dataTypeT>();
+ // 3: min(x, qNaN)
+ m_ptr->input[3 * 2 + 0] = deQuietNaN<dataTypeT>();
+ // 4: min(NaN, NaN)
+ m_ptr->inout[4] = deSignalingNaN<dataTypeT>();
+ m_ptr->input[4 * 2 + 0] = deQuietNaN<dataTypeT>();
+ m_ptr->input[4 * 2 + 1] = deQuietNaN<dataTypeT>();
+ // 5: min(+0, -0)
+ m_ptr->inout[5] = deToFloatType<dataTypeT>(-0.0);
+ m_ptr->input[5 * 2 + 0] = deToFloatType<dataTypeT>(0.0);
+ m_ptr->input[5 * 2 + 1] = deToFloatType<dataTypeT>(0.0);
+
for (int i = 0; i < NUM_ELEMENTS; i++)
{
- m_ptr->input[i] = static_cast<dataTypeT>(rnd.getFloat());
+ m_ptr->input[i] = deToFloatType<dataTypeT>(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 @@
bool compare(T inout, T output0, T output1)
{
- T diff1 = static_cast<T>(fabs(m_inout - inout));
- T diff2 = static_cast<T>(fabs(m_output[0] - output0));
- T diff3 = static_cast<T>(fabs(m_output[1] - output1));
- const T epsilon = static_cast<T>(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 @@
{
switch (type)
{
+ case DATA_TYPE_FLOAT16:
+ return new TestBufferFloatingPoint<deFloat16>(atomicOp);
case DATA_TYPE_INT32:
return new TestBuffer<deInt32>(atomicOp);
case DATA_TYPE_UINT32:
@@ -591,6 +623,83 @@
}
}
+template<typename T>
+void handleExceptionalFloatMinMaxValues(vector<T> &values, T x, T y)
+{
+
+ if (deIsSignalingNaN(x) && deIsSignalingNaN(y))
+ {
+ values.push_back(deQuietNaN<T>());
+ values.push_back(deSignalingNaN<T>());
+ }
+ else if (deIsSignalingNaN(x))
+ {
+ values.push_back(deQuietNaN<T>());
+ values.push_back(deSignalingNaN<T>());
+ if (!deIsIEEENaN(y))
+ values.push_back(y);
+ }
+ else if (deIsSignalingNaN(y))
+ {
+ values.push_back(deQuietNaN<T>());
+ values.push_back(deSignalingNaN<T>());
+ if (!deIsIEEENaN(x))
+ values.push_back(x);
+ }
+ else if (deIsIEEENaN(x) && deIsIEEENaN(y))
+ {
+ // Both quiet NaNs
+ values.push_back(deQuietNaN<T>());
+ }
+ 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<T>(0.0));
+ values.push_back(deToFloatType<T>(-0.0));
+ }
+}
+
+template<typename T>
+T floatAdd(T x, T y)
+{
+ if (deIsIEEENaN(x) || deIsIEEENaN(y))
+ return deQuietNaN<T>();
+ return deToFloatType<T>(deToDouble(x) + deToDouble(y));
+}
+
+template<typename T>
+vector<T> floatMinValues(T x, T y)
+{
+ vector<T> values;
+ handleExceptionalFloatMinMaxValues(values, x, y);
+ if (values.empty())
+ {
+ values.push_back(deToDouble(x) < deToDouble(y) ? x : y);
+ }
+ return values;
+}
+
+template<typename T>
+vector<T> floatMaxValues(T x, T y)
+{
+ vector<T> 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<typename T>
@@ -626,8 +735,60 @@
{
case ATOMIC_OP_ADD:
{
- exp.push_back(Expected<T>(originalInout + input0 + input1, originalInout, originalInout + input0));
- exp.push_back(Expected<T>(originalInout + input0 + input1, originalInout + input1, originalInout));
+ exp.push_back(Expected<T>(floatAdd(floatAdd(originalInout, input0), input1), originalInout, floatAdd(originalInout, input0)));
+ exp.push_back(Expected<T>(floatAdd(floatAdd(originalInout, input0), input1), floatAdd(originalInout, input1), originalInout));
+ }
+ break;
+
+ case ATOMIC_OP_MIN:
+ {
+ // The case where input0 is combined first
+ vector<T> minOriginalAndInput0 = floatMinValues(originalInout, input0);
+ for (T x : minOriginalAndInput0)
+ {
+ vector<T> minAll = floatMinValues(x, input1);
+ for (T y : minAll)
+ {
+ exp.push_back(Expected<T>(y, originalInout, x));
+ }
+ }
+
+ // The case where input1 is combined first
+ vector<T> minOriginalAndInput1 = floatMinValues(originalInout, input1);
+ for (T x : minOriginalAndInput1)
+ {
+ vector<T> minAll = floatMinValues(x, input0);
+ for (T y : minAll)
+ {
+ exp.push_back(Expected<T>(y, x, originalInout));
+ }
+ }
+ }
+ break;
+
+ case ATOMIC_OP_MAX:
+ {
+ // The case where input0 is combined first
+ vector<T> minOriginalAndInput0 = floatMaxValues(originalInout, input0);
+ for (T x : minOriginalAndInput0)
+ {
+ vector<T> minAll = floatMaxValues(x, input1);
+ for (T y : minAll)
+ {
+ exp.push_back(Expected<T>(y, originalInout, x));
+ }
+ }
+
+ // The case where input1 is combined first
+ vector<T> minOriginalAndInput1 = floatMaxValues(originalInout, input1);
+ for (T x : minOriginalAndInput1)
+ {
+ vector<T> minAll = floatMaxValues(x, input0);
+ for (T y : minAll)
+ {
+ exp.push_back(Expected<T>(y, x, originalInout));
+ }
+ }
}
break;
@@ -648,17 +809,37 @@
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<T> 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<T> 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 @@
}
}
+ 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 @@
}
}
}
+ 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 @@
}
}
}
+ 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 @@
<< "#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 @@
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 @@
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_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_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_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_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_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_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_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_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_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.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.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_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_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_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_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_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_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.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.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.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.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.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.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_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_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_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_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_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_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_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_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_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_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_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_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.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.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.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.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.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.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_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.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.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_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_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_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_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_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_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.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.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.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.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.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.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_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_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_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_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_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_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_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_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_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_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_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_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.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.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.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.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.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.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 @@
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 @@
* \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 <math.h>
#include <float.h>
@@ -69,6 +70,82 @@
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 @@
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 <limits>
+
+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 <typename T>
+inline T deToFloatType(double x)
+{
+ return static_cast<T>(x);
+}
+
+template <>
+inline deFloat16 deToFloatType<deFloat16>(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<typename T>
+inline T deQuietNaN()
+{
+ return std::numeric_limits<T>::quiet_NaN();
+}
+
+template<>
+inline deFloat16 deQuietNaN<deFloat16>()
+{
+ return deFloat16QuietNaN;
+}
+
+template<typename T>
+inline T deSignalingNaN()
+{
+ return std::numeric_limits<T>::signaling_NaN();
+}
+
+template<>
+inline deFloat16 deSignalingNaN<deFloat16>()
+{
+ return deFloat16SignalingNaN;
+}
+
+#endif // _DEMATH_HPP