From: Alejandro PiƱeiro Date: Fri, 13 Jul 2018 11:34:08 +0000 (+0200) Subject: compiler/spirv: add XFB and GeometryStreams capability check support X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d69027536ca04b5270eae4c1621aded1e581a64e;p=mesa.git compiler/spirv: add XFB and GeometryStreams capability check support Reviewed-by: Timothy Arceri --- 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: