diff options
-rw-r--r-- | src/compiler/shader_info.h | 2 | ||||
-rw-r--r-- | 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 e9ca222dea8..dab15b58894 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 f0a5fae4a64..32ebdd78a1f 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: |