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 atomic_storage;
|
||||||
bool derivative_group;
|
bool derivative_group;
|
||||||
bool descriptor_array_dynamic_indexing;
|
bool descriptor_array_dynamic_indexing;
|
||||||
|
bool descriptor_array_non_uniform_indexing;
|
||||||
|
bool descriptor_indexing;
|
||||||
bool device_group;
|
bool device_group;
|
||||||
bool draw_parameters;
|
bool draw_parameters;
|
||||||
bool float64;
|
bool float64;
|
||||||
|
@@ -3716,12 +3716,26 @@ vtn_handle_preamble_instruction(struct vtn_builder *b, SpvOp opcode,
|
|||||||
spv_check_supported(storage_8bit, cap);
|
spv_check_supported(storage_8bit, cap);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SpvCapabilityShaderNonUniformEXT:
|
||||||
|
spv_check_supported(descriptor_indexing, cap);
|
||||||
|
break;
|
||||||
|
|
||||||
case SpvCapabilityInputAttachmentArrayDynamicIndexingEXT:
|
case SpvCapabilityInputAttachmentArrayDynamicIndexingEXT:
|
||||||
case SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT:
|
case SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT:
|
||||||
case SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT:
|
case SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT:
|
||||||
spv_check_supported(descriptor_array_dynamic_indexing, cap);
|
spv_check_supported(descriptor_array_dynamic_indexing, cap);
|
||||||
break;
|
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:
|
case SpvCapabilityRuntimeDescriptorArrayEXT:
|
||||||
spv_check_supported(runtime_descriptor_array, cap);
|
spv_check_supported(runtime_descriptor_array, cap);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user