[Mesa-dev] [PATCH 10/15] compiler/spirv: add XFB and GeometryStreams capability check support

Timothy Arceri tarceri at itsqueeze.com
Tue Jul 31 11:31:59 UTC 2018


Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 31/07/18 21:16, Alejandro Piñeiro wrote:
> FWIW, this is the only patch pending to be reviewed on the series (sorry
> Timothy, I used wrong patch numbers when I pinged you on IRC).
> 
> BR
> 
> 
> On 20/07/18 17:08, Alejandro Piñeiro wrote:
>> ---
>>   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 3b95d5962c0..958e6bb98bf 100644
>> --- a/src/compiler/shader_info.h
>> +++ b/src/compiler/shader_info.h
>> @@ -59,6 +59,8 @@ struct spirv_supported_capabilities {
>>      bool stencil_export;
>>      bool atomic_storage;
>>      bool storage_8bit;
>> +   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 0957efb2aa1..c8b91f068a8 100644
>> --- a/src/compiler/spirv/spirv_to_nir.c
>> +++ b/src/compiler/spirv/spirv_to_nir.c
>> @@ -3424,7 +3424,6 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
>>         case SpvCapabilityStorageImageExtendedFormats:
>>            break;
>>   
>> -      case SpvCapabilityGeometryStreams:
>>         case SpvCapabilityLinkage:
>>         case SpvCapabilityVector16:
>>         case SpvCapabilityFloat16Buffer:
>> @@ -3434,7 +3433,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;
>> @@ -3453,6 +3451,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:
> 


More information about the mesa-dev mailing list