diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h index a35bd72b6ea..2b73b544d60 100644 --- a/src/compiler/shader_info.h +++ b/src/compiler/shader_info.h @@ -45,6 +45,7 @@ struct spirv_supported_capabilities { bool descriptor_indexing; bool device_group; bool draw_parameters; + bool float16_atomic_add; bool float16_atomic_min_max; bool float32_atomic_add; bool float32_atomic_min_max; diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index 007e1fe1c1b..35d46aa9b56 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -4604,6 +4604,10 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode, spv_check_supported(amd_image_gather_bias_lod, cap); break; + case SpvCapabilityAtomicFloat16AddEXT: + spv_check_supported(float16_atomic_add, cap); + break; + case SpvCapabilityAtomicFloat32AddEXT: spv_check_supported(float32_atomic_add, cap); break;