summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/compiler/shader_info.h1
-rw-r--r--src/compiler/spirv/spirv_to_nir.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
index bd5d2fa0b6c..ae894f3082b 100644
--- a/src/compiler/shader_info.h
+++ b/src/compiler/shader_info.h
@@ -59,6 +59,7 @@ struct spirv_supported_capabilities {
bool physical_storage_buffer_address;
bool post_depth_coverage;
bool runtime_descriptor_array;
+ bool float_controls;
bool shader_viewport_index_layer;
bool stencil_export;
bool storage_8bit;
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index f46af1e42db..acf73ee1952 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -3615,6 +3615,13 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
case SpvCapabilitySampleMaskPostDepthCoverage:
spv_check_supported(post_depth_coverage, cap);
+
+ case SpvCapabilityDenormFlushToZero:
+ case SpvCapabilityDenormPreserve:
+ case SpvCapabilitySignedZeroInfNanPreserve:
+ case SpvCapabilityRoundingModeRTE:
+ case SpvCapabilityRoundingModeRTZ:
+ spv_check_supported(float_controls, cap);
break;
case SpvCapabilityPhysicalStorageBufferAddressesEXT: