Don't prefix with "Capability" since the majority of them don't.
Also add missing CapabilityImageFootprintNV
strcmp(name, spv::E_SPV_NV_geometry_shader_passthrough) == 0 ||
strcmp(name, spv::E_ARB_shader_viewport_layer_array) == 0 ||
strcmp(name, spv::E_SPV_NV_viewport_array2) == 0 ||
- strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0 ||
- strcmp(spv::E_SPV_NV_fragment_shader_barycentric, name) == 0 ||
- strcmp(name, spv::E_SPV_NV_mesh_shader) == 0) {
+ strcmp(name, spv::E_SPV_NVX_multiview_per_view_attributes) == 0 ||
+ strcmp(name, spv::E_SPV_NV_fragment_shader_barycentric) == 0 ||
+ strcmp(name, spv::E_SPV_NV_mesh_shader) == 0 ||
+ strcmp(name, spv::E_SPV_NV_shader_image_footprint) == 0) {
switch (entrypoint) {
// NV builtins
case BuiltInViewportMaskNV: return "ViewportMaskNV";
case CapabilityPerViewAttributesNV: return "PerViewAttributesNV";
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
case CapabilityMeshShadingNV: return "MeshShadingNV";
+ case CapabilityImageFootprintNV: return "ImageFootprintNV";
// NV Decorations
case DecorationOverrideCoverageNV: return "OverrideCoverageNV";
case CapabilityStoragePushConstant16: return "StoragePushConstant16";
case CapabilityStorageInputOutput16: return "StorageInputOutput16";
- case CapabilityStorageBuffer8BitAccess: return "CapabilityStorageBuffer8BitAccess";
- case CapabilityUniformAndStorageBuffer8BitAccess: return "CapabilityUniformAndStorageBuffer8BitAccess";
- case CapabilityStoragePushConstant8: return "CapabilityStoragePushConstant8";
+ case CapabilityStorageBuffer8BitAccess: return "StorageBuffer8BitAccess";
+ case CapabilityUniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess";
+ case CapabilityStoragePushConstant8: return "StoragePushConstant8";
case CapabilityDeviceGroup: return "DeviceGroup";
case CapabilityMultiView: return "MultiView";
case CapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV";
case CapabilityFragmentBarycentricNV: return "FragmentBarycentricNV";
case CapabilityMeshShadingNV: return "MeshShadingNV";
-// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by CapabilityFragmentDensityEXT
+ case CapabilityImageFootprintNV: return "ImageFootprintNV";
+// case CapabilityShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT
#endif
case CapabilityFragmentDensityEXT: return "FragmentDensityEXT";
case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
- case CapabilityShaderNonUniformEXT: return "CapabilityShaderNonUniformEXT";
- case CapabilityRuntimeDescriptorArrayEXT: return "CapabilityRuntimeDescriptorArrayEXT";
- case CapabilityInputAttachmentArrayDynamicIndexingEXT: return "CapabilityInputAttachmentArrayDynamicIndexingEXT";
- case CapabilityUniformTexelBufferArrayDynamicIndexingEXT: return "CapabilityUniformTexelBufferArrayDynamicIndexingEXT";
- case CapabilityStorageTexelBufferArrayDynamicIndexingEXT: return "CapabilityStorageTexelBufferArrayDynamicIndexingEXT";
- case CapabilityUniformBufferArrayNonUniformIndexingEXT: return "CapabilityUniformBufferArrayNonUniformIndexingEXT";
- case CapabilitySampledImageArrayNonUniformIndexingEXT: return "CapabilitySampledImageArrayNonUniformIndexingEXT";
- case CapabilityStorageBufferArrayNonUniformIndexingEXT: return "CapabilityStorageBufferArrayNonUniformIndexingEXT";
- case CapabilityStorageImageArrayNonUniformIndexingEXT: return "CapabilityStorageImageArrayNonUniformIndexingEXT";
- case CapabilityInputAttachmentArrayNonUniformIndexingEXT: return "CapabilityInputAttachmentArrayNonUniformIndexingEXT";
- case CapabilityUniformTexelBufferArrayNonUniformIndexingEXT: return "CapabilityUniformTexelBufferArrayNonUniformIndexingEXT";
- case CapabilityStorageTexelBufferArrayNonUniformIndexingEXT: return "CapabilityStorageTexelBufferArrayNonUniformIndexingEXT";
+ case CapabilityShaderNonUniformEXT: return "ShaderNonUniformEXT";
+ case CapabilityRuntimeDescriptorArrayEXT: return "RuntimeDescriptorArrayEXT";
+ case CapabilityInputAttachmentArrayDynamicIndexingEXT: return "InputAttachmentArrayDynamicIndexingEXT";
+ case CapabilityUniformTexelBufferArrayDynamicIndexingEXT: return "UniformTexelBufferArrayDynamicIndexingEXT";
+ case CapabilityStorageTexelBufferArrayDynamicIndexingEXT: return "StorageTexelBufferArrayDynamicIndexingEXT";
+ case CapabilityUniformBufferArrayNonUniformIndexingEXT: return "UniformBufferArrayNonUniformIndexingEXT";
+ case CapabilitySampledImageArrayNonUniformIndexingEXT: return "SampledImageArrayNonUniformIndexingEXT";
+ case CapabilityStorageBufferArrayNonUniformIndexingEXT: return "StorageBufferArrayNonUniformIndexingEXT";
+ case CapabilityStorageImageArrayNonUniformIndexingEXT: return "StorageImageArrayNonUniformIndexingEXT";
+ case CapabilityInputAttachmentArrayNonUniformIndexingEXT: return "InputAttachmentArrayNonUniformIndexingEXT";
+ case CapabilityUniformTexelBufferArrayNonUniformIndexingEXT: return "UniformTexelBufferArrayNonUniformIndexingEXT";
+ case CapabilityStorageTexelBufferArrayNonUniformIndexingEXT: return "StorageTexelBufferArrayNonUniformIndexingEXT";
- case CapabilityVulkanMemoryModelKHR: return "CapabilityVulkanMemoryModelKHR";
- case CapabilityVulkanMemoryModelDeviceScopeKHR: return "CapabilityVulkanMemoryModelDeviceScopeKHR";
+ case CapabilityVulkanMemoryModelKHR: return "VulkanMemoryModelKHR";
+ case CapabilityVulkanMemoryModelDeviceScopeKHR: return "VulkanMemoryModelDeviceScopeKHR";
- case CapabilityPhysicalStorageBufferAddressesEXT: return "CapabilityPhysicalStorageBufferAddressesEXT";
+ case CapabilityPhysicalStorageBufferAddressesEXT: return "PhysicalStorageBufferAddressesEXT";
- case CapabilityVariablePointers: return "CapabilityVariablePointers";
+ case CapabilityVariablePointers: return "VariablePointers";
- case CapabilityCooperativeMatrixNV: return "CapabilityCooperativeMatrixNV";
+ case CapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
default: return "Bad";
}
// Id's are bound by 28
Capability Shader
- Capability CapabilityStorageBuffer8BitAccess
+ Capability StorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 29
Capability Shader
- Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 52
Capability Shader
- Capability CapabilityVariablePointers
- Capability CapabilityVulkanMemoryModelKHR
- Capability CapabilityCooperativeMatrixNV
+ Capability VariablePointers
+ Capability VulkanMemoryModelKHR
+ Capability CooperativeMatrixNV
Extension "SPV_KHR_vulkan_memory_model"
Extension "SPV_NV_cooperative_matrix"
1: ExtInstImport "GLSL.std.450"
// Id's are bound by 172
Capability Shader
- Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 28
Capability Shader
- Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 29
Capability Shader
- Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 173
Capability Shader
- Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
// Id's are bound by 52
Capability Shader
- Capability CapabilityVulkanMemoryModelKHR
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability VulkanMemoryModelKHR
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
Extension "SPV_KHR_vulkan_memory_model"
// Id's are bound by 40
Capability Shader
- Capability CapabilityVulkanMemoryModelKHR
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability VulkanMemoryModelKHR
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
Extension "SPV_KHR_vulkan_memory_model"
// Id's are bound by 60
Capability Shader
- Capability CapabilityStorageBuffer8BitAccess
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability StorageBuffer8BitAccess
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_8bit_storage"
Extension "SPV_KHR_storage_buffer_storage_class"
Capability Shader
Capability StorageUniformBufferBlock16
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_16bit_storage"
Extension "SPV_KHR_storage_buffer_storage_class"
// Id's are bound by 58
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
// Id's are bound by 46
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450
// Id's are bound by 60
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
Capability Shader
Capability Int64
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450
Capability Shader
Capability Int64
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450
// Id's are bound by 45
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
// Id's are bound by 50
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
// Id's are bound by 61
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
// Id's are bound by 22
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
1: ExtInstImport "GLSL.std.450"
MemoryModel PhysicalStorageBuffer64EXT GLSL450
// Id's are bound by 165
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
// Id's are bound by 24
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
// Id's are bound by 27
Capability Shader
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
Capability Shader
Capability Int64
- Capability CapabilityPhysicalStorageBufferAddressesEXT
+ Capability PhysicalStorageBufferAddressesEXT
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_storage_buffer_storage_class"
1: ExtInstImport "GLSL.std.450"
Capability Shader
Capability Float16
Capability StorageUniformBufferBlock16
- Capability CapabilityVulkanMemoryModelKHR
- Capability CapabilityPhysicalStorageBufferAddressesEXT
- Capability CapabilityCooperativeMatrixNV
+ Capability VulkanMemoryModelKHR
+ Capability PhysicalStorageBufferAddressesEXT
+ Capability CooperativeMatrixNV
Extension "SPV_EXT_physical_storage_buffer"
Extension "SPV_KHR_16bit_storage"
Extension "SPV_KHR_storage_buffer_storage_class"
Capability Int64
Capability Int16
Capability Int8
- Capability CapabilityUniformAndStorageBuffer8BitAccess
+ Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
Capability Shader
Capability Int64
Capability Int64Atomics
- Capability CapabilityVulkanMemoryModelKHR
- Capability CapabilityVulkanMemoryModelDeviceScopeKHR
+ Capability VulkanMemoryModelKHR
+ Capability VulkanMemoryModelDeviceScopeKHR
Extension "SPV_KHR_vulkan_memory_model"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical VulkanKHR
Capability InputAttachment
Capability SampledBuffer
Capability ImageBuffer
- Capability CapabilityShaderNonUniformEXT
- Capability CapabilityRuntimeDescriptorArrayEXT
- Capability CapabilityInputAttachmentArrayDynamicIndexingEXT
- Capability CapabilityUniformTexelBufferArrayDynamicIndexingEXT
- Capability CapabilityStorageTexelBufferArrayDynamicIndexingEXT
- Capability CapabilityUniformBufferArrayNonUniformIndexingEXT
- Capability CapabilitySampledImageArrayNonUniformIndexingEXT
- Capability CapabilityStorageBufferArrayNonUniformIndexingEXT
- Capability CapabilityStorageImageArrayNonUniformIndexingEXT
- Capability CapabilityInputAttachmentArrayNonUniformIndexingEXT
- Capability CapabilityUniformTexelBufferArrayNonUniformIndexingEXT
- Capability CapabilityStorageTexelBufferArrayNonUniformIndexingEXT
+ Capability ShaderNonUniformEXT
+ Capability RuntimeDescriptorArrayEXT
+ Capability InputAttachmentArrayDynamicIndexingEXT
+ Capability UniformTexelBufferArrayDynamicIndexingEXT
+ Capability StorageTexelBufferArrayDynamicIndexingEXT
+ Capability UniformBufferArrayNonUniformIndexingEXT
+ Capability SampledImageArrayNonUniformIndexingEXT
+ Capability StorageBufferArrayNonUniformIndexingEXT
+ Capability StorageImageArrayNonUniformIndexingEXT
+ Capability InputAttachmentArrayNonUniformIndexingEXT
+ Capability UniformTexelBufferArrayNonUniformIndexingEXT
+ Capability StorageTexelBufferArrayNonUniformIndexingEXT
Extension "SPV_EXT_descriptor_indexing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
Capability Shader
Capability ImageBuffer
- Capability CapabilityShaderNonUniformEXT
- Capability CapabilityRuntimeDescriptorArrayEXT
- Capability CapabilityStorageTexelBufferArrayNonUniformIndexingEXT
+ Capability ShaderNonUniformEXT
+ Capability RuntimeDescriptorArrayEXT
+ Capability StorageTexelBufferArrayNonUniformIndexingEXT
Extension "SPV_EXT_descriptor_indexing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
Capability Shader
Capability MinLod
- Capability Bad
+ Capability ImageFootprintNV
Extension "SPV_NV_shader_image_footprint"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450