From d69027536ca04b5270eae4c1621aded1e581a64e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alejandro=20Pi=C3=B1eiro?= Date: Fri, 13 Jul 2018 13:34:08 +0200 Subject: [PATCH] compiler/spirv: add XFB and GeometryStreams capability check support Reviewed-by: Timothy Arceri --- 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 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: -- 2.30.2