spirv: add missing SPV_EXT_descriptor_indexing capabilities
Add ShaderNonUniformEXT, UniformBufferArrayNonUniformIndexingEXT, SampledImageArrayNonUniformIndexingEXT, StorageBufferArrayNonUniformIndexingEXT, StorageImageArrayNonUniformIndexingEXT, InputAttachmentArrayNonUniformIndexingEXT, UniformTexelBufferArrayNonUniformIndexingEXT and StorageTexelBufferArrayNonUniformIndexingEXT capabilities. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
@@ -37,6 +37,8 @@ struct spirv_supported_capabilities {
|
||||
bool atomic_storage;
|
||||
bool derivative_group;
|
||||
bool descriptor_array_dynamic_indexing;
|
||||
bool descriptor_array_non_uniform_indexing;
|
||||
bool descriptor_indexing;
|
||||
bool device_group;
|
||||
bool draw_parameters;
|
||||
bool float64;
|
||||
|
@@ -3716,12 +3716,26 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
|
||||
spv_check_supported(storage_8bit, cap);
|
||||
break;
|
||||
|
||||
case SpvCapabilityShaderNonUniformEXT:
|
||||
spv_check_supported(descriptor_indexing, cap);
|
||||
break;
|
||||
|
||||
case SpvCapabilityInputAttachmentArrayDynamicIndexingEXT:
|
||||
case SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT:
|
||||
case SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT:
|
||||
spv_check_supported(descriptor_array_dynamic_indexing, cap);
|
||||
break;
|
||||
|
||||
case SpvCapabilityUniformBufferArrayNonUniformIndexingEXT:
|
||||
case SpvCapabilitySampledImageArrayNonUniformIndexingEXT:
|
||||
case SpvCapabilityStorageBufferArrayNonUniformIndexingEXT:
|
||||
case SpvCapabilityStorageImageArrayNonUniformIndexingEXT:
|
||||
case SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT:
|
||||
case SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT:
|
||||
case SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT:
|
||||
spv_check_supported(descriptor_array_non_uniform_indexing, cap);
|
||||
break;
|
||||
|
||||
case SpvCapabilityRuntimeDescriptorArrayEXT:
|
||||
spv_check_supported(runtime_descriptor_array, cap);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user