Module: Mesa
Branch: master
Commit: d69027536ca04b5270eae4c1621aded1e581a64e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d69027536ca04b5270eae4c1621aded1e581a64e

Author: Alejandro PiƱeiro <[email protected]>
Date:   Fri Jul 13 13:34:08 2018 +0200

compiler/spirv: add XFB and GeometryStreams capability check support

Reviewed-by: Timothy Arceri <[email protected]>

---

 src/compiler/shader_info.h        |  2 ++
 src/compiler/spirv/spirv_to_nir.c | 10 ++++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
index e9ca222dea..dab15b5889 100644
--- a/src/compiler/shader_info.h
+++ b/src/compiler/shader_info.h
@@ -60,6 +60,8 @@ struct spirv_supported_capabilities {
    bool atomic_storage;
    bool storage_8bit;
    bool post_depth_coverage;
+   bool transform_feedback;
+   bool geometry_streams;
 };
 
 typedef struct shader_info {
diff --git a/src/compiler/spirv/spirv_to_nir.c 
b/src/compiler/spirv/spirv_to_nir.c
index f0a5fae4a6..32ebdd78a1 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -3417,7 +3417,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, 
SpvOp opcode,
       case SpvCapabilityStorageImageExtendedFormats:
          break;
 
-      case SpvCapabilityGeometryStreams:
       case SpvCapabilityLinkage:
       case SpvCapabilityVector16:
       case SpvCapabilityFloat16Buffer:
@@ -3427,7 +3426,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, 
SpvOp opcode,
       case SpvCapabilityInt8:
       case SpvCapabilitySparseResidency:
       case SpvCapabilityMinLod:
-      case SpvCapabilityTransformFeedback:
          vtn_warn("Unsupported SPIR-V capability: %s",
                   spirv_capability_to_string(cap));
          break;
@@ -3446,6 +3444,14 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, 
SpvOp opcode,
          spv_check_supported(int16, cap);
          break;
 
+      case SpvCapabilityTransformFeedback:
+         spv_check_supported(transform_feedback, cap);
+         break;
+
+      case SpvCapabilityGeometryStreams:
+         spv_check_supported(geometry_streams, cap);
+         break;
+
       case SpvCapabilityAddresses:
       case SpvCapabilityKernel:
       case SpvCapabilityImageBasic:

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to