[Mesa-dev] [PATCH v2 02/29] spirv: check support for SPV_KHR_shader_float_controls capabilities

Samuel Iglesias Gonsálvez siglesias at igalia.com
Tue Dec 18 10:33:57 UTC 2018


Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
---
 src/compiler/shader_info.h        | 1 +
 src/compiler/spirv/spirv_to_nir.c | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
index b4bc95912a5..53a89a38244 100644
--- a/src/compiler/shader_info.h
+++ b/src/compiler/shader_info.h
@@ -48,6 +48,7 @@ struct spirv_supported_capabilities {
    bool int16;
    bool float16;
    bool int8;
+   bool shader_float_controls;
    bool shader_viewport_index_layer;
    bool subgroup_arithmetic;
    bool subgroup_ballot;
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index dbfd800c945..60c94806cd2 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -3581,6 +3581,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(shader_float_controls, cap);
          break;
 
       default:
-- 
2.19.1



More information about the mesa-dev mailing list