#[repr(u32)]pub enum Capability {
Show 226 variants
Matrix = 0,
Shader = 1,
Geometry = 2,
Tessellation = 3,
Addresses = 4,
Linkage = 5,
Kernel = 6,
Vector16 = 7,
Float16Buffer = 8,
Float16 = 9,
Float64 = 10,
Int64 = 11,
Int64Atomics = 12,
ImageBasic = 13,
ImageReadWrite = 14,
ImageMipmap = 15,
Pipes = 17,
Groups = 18,
DeviceEnqueue = 19,
LiteralSampler = 20,
AtomicStorage = 21,
Int16 = 22,
TessellationPointSize = 23,
GeometryPointSize = 24,
ImageGatherExtended = 25,
StorageImageMultisample = 27,
UniformBufferArrayDynamicIndexing = 28,
SampledImageArrayDynamicIndexing = 29,
StorageBufferArrayDynamicIndexing = 30,
StorageImageArrayDynamicIndexing = 31,
ClipDistance = 32,
CullDistance = 33,
ImageCubeArray = 34,
SampleRateShading = 35,
ImageRect = 36,
SampledRect = 37,
GenericPointer = 38,
Int8 = 39,
InputAttachment = 40,
SparseResidency = 41,
MinLod = 42,
Sampled1D = 43,
Image1D = 44,
SampledCubeArray = 45,
SampledBuffer = 46,
ImageBuffer = 47,
ImageMSArray = 48,
StorageImageExtendedFormats = 49,
ImageQuery = 50,
DerivativeControl = 51,
InterpolationFunction = 52,
TransformFeedback = 53,
GeometryStreams = 54,
StorageImageReadWithoutFormat = 55,
StorageImageWriteWithoutFormat = 56,
MultiViewport = 57,
SubgroupDispatch = 58,
NamedBarrier = 59,
PipeStorage = 60,
GroupNonUniform = 61,
GroupNonUniformVote = 62,
GroupNonUniformArithmetic = 63,
GroupNonUniformBallot = 64,
GroupNonUniformShuffle = 65,
GroupNonUniformShuffleRelative = 66,
GroupNonUniformClustered = 67,
GroupNonUniformQuad = 68,
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
CoreBuiltinsARM = 4_165,
TileImageColorReadAccessEXT = 4_166,
TileImageDepthReadAccessEXT = 4_167,
TileImageStencilReadAccessEXT = 4_168,
FragmentShadingRateKHR = 4_422,
SubgroupBallotKHR = 4_423,
DrawParameters = 4_427,
WorkgroupMemoryExplicitLayoutKHR = 4_428,
WorkgroupMemoryExplicitLayout8BitAccessKHR = 4_429,
WorkgroupMemoryExplicitLayout16BitAccessKHR = 4_430,
SubgroupVoteKHR = 4_431,
StorageBuffer16BitAccess = 4_433,
UniformAndStorageBuffer16BitAccess = 4_434,
StoragePushConstant16 = 4_435,
StorageInputOutput16 = 4_436,
DeviceGroup = 4_437,
MultiView = 4_439,
VariablePointersStorageBuffer = 4_441,
VariablePointers = 4_442,
AtomicStorageOps = 4_445,
SampleMaskPostDepthCoverage = 4_447,
StorageBuffer8BitAccess = 4_448,
UniformAndStorageBuffer8BitAccess = 4_449,
StoragePushConstant8 = 4_450,
DenormPreserve = 4_464,
DenormFlushToZero = 4_465,
SignedZeroInfNanPreserve = 4_466,
RoundingModeRTE = 4_467,
RoundingModeRTZ = 4_468,
RayQueryProvisionalKHR = 4_471,
RayQueryKHR = 4_472,
RayTraversalPrimitiveCullingKHR = 4_478,
RayTracingKHR = 4_479,
TextureSampleWeightedQCOM = 4_484,
TextureBoxFilterQCOM = 4_485,
TextureBlockMatchQCOM = 4_486,
Float16ImageAMD = 5_008,
ImageGatherBiasLodAMD = 5_009,
FragmentMaskAMD = 5_010,
StencilExportEXT = 5_013,
ImageReadWriteLodAMD = 5_015,
Int64ImageEXT = 5_016,
ShaderClockKHR = 5_055,
ShaderEnqueueAMDX = 5_067,
SampleMaskOverrideCoverageNV = 5_249,
GeometryShaderPassthroughNV = 5_251,
ShaderViewportIndexLayerEXT = 5_254,
ShaderViewportMaskNV = 5_255,
ShaderStereoViewNV = 5_259,
PerViewAttributesNV = 5_260,
FragmentFullyCoveredEXT = 5_265,
MeshShadingNV = 5_266,
ImageFootprintNV = 5_282,
MeshShadingEXT = 5_283,
FragmentBarycentricKHR = 5_284,
ComputeDerivativeGroupQuadsNV = 5_288,
FragmentDensityEXT = 5_291,
GroupNonUniformPartitionedNV = 5_297,
ShaderNonUniform = 5_301,
RuntimeDescriptorArray = 5_302,
InputAttachmentArrayDynamicIndexing = 5_303,
UniformTexelBufferArrayDynamicIndexing = 5_304,
StorageTexelBufferArrayDynamicIndexing = 5_305,
UniformBufferArrayNonUniformIndexing = 5_306,
SampledImageArrayNonUniformIndexing = 5_307,
StorageBufferArrayNonUniformIndexing = 5_308,
StorageImageArrayNonUniformIndexing = 5_309,
InputAttachmentArrayNonUniformIndexing = 5_310,
UniformTexelBufferArrayNonUniformIndexing = 5_311,
StorageTexelBufferArrayNonUniformIndexing = 5_312,
RayTracingPositionFetchKHR = 5_336,
RayTracingNV = 5_340,
RayTracingMotionBlurNV = 5_341,
VulkanMemoryModel = 5_345,
VulkanMemoryModelDeviceScope = 5_346,
PhysicalStorageBufferAddresses = 5_347,
ComputeDerivativeGroupLinearNV = 5_350,
RayTracingProvisionalKHR = 5_353,
CooperativeMatrixNV = 5_357,
FragmentShaderSampleInterlockEXT = 5_363,
FragmentShaderShadingRateInterlockEXT = 5_372,
ShaderSMBuiltinsNV = 5_373,
FragmentShaderPixelInterlockEXT = 5_378,
DemoteToHelperInvocation = 5_379,
DisplacementMicromapNV = 5_380,
RayTracingOpacityMicromapEXT = 5_381,
ShaderInvocationReorderNV = 5_383,
BindlessTextureNV = 5_390,
RayQueryPositionFetchKHR = 5_391,
RayTracingDisplacementMicromapNV = 5_409,
SubgroupShuffleINTEL = 5_568,
SubgroupBufferBlockIOINTEL = 5_569,
SubgroupImageBlockIOINTEL = 5_570,
SubgroupImageMediaBlockIOINTEL = 5_579,
RoundToInfinityINTEL = 5_582,
FloatingPointModeINTEL = 5_583,
IntegerFunctions2INTEL = 5_584,
FunctionPointersINTEL = 5_603,
IndirectReferencesINTEL = 5_604,
AsmINTEL = 5_606,
AtomicFloat32MinMaxEXT = 5_612,
AtomicFloat64MinMaxEXT = 5_613,
AtomicFloat16MinMaxEXT = 5_616,
VectorComputeINTEL = 5_617,
VectorAnyINTEL = 5_619,
ExpectAssumeKHR = 5_629,
SubgroupAvcMotionEstimationINTEL = 5_696,
SubgroupAvcMotionEstimationIntraINTEL = 5_697,
SubgroupAvcMotionEstimationChromaINTEL = 5_698,
VariableLengthArrayINTEL = 5_817,
FunctionFloatControlINTEL = 5_821,
FPGAMemoryAttributesINTEL = 5_824,
FPFastMathModeINTEL = 5_837,
ArbitraryPrecisionIntegersINTEL = 5_844,
ArbitraryPrecisionFloatingPointINTEL = 5_845,
UnstructuredLoopControlsINTEL = 5_886,
FPGALoopControlsINTEL = 5_888,
KernelAttributesINTEL = 5_892,
FPGAKernelAttributesINTEL = 5_897,
FPGAMemoryAccessesINTEL = 5_898,
FPGAClusterAttributesINTEL = 5_904,
LoopFuseINTEL = 5_906,
FPGADSPControlINTEL = 5_908,
MemoryAccessAliasingINTEL = 5_910,
FPGAInvocationPipeliningAttributesINTEL = 5_916,
FPGABufferLocationINTEL = 5_920,
ArbitraryPrecisionFixedPointINTEL = 5_922,
USMStorageClassesINTEL = 5_935,
RuntimeAlignedAttributeINTEL = 5_939,
IOPipesINTEL = 5_943,
BlockingPipesINTEL = 5_945,
FPGARegINTEL = 5_948,
DotProductInputAll = 6_016,
DotProductInput4x8Bit = 6_017,
DotProductInput4x8BitPacked = 6_018,
DotProduct = 6_019,
RayCullMaskKHR = 6_020,
CooperativeMatrixKHR = 6_022,
BitInstructions = 6_025,
GroupNonUniformRotateKHR = 6_026,
AtomicFloat32AddEXT = 6_033,
AtomicFloat64AddEXT = 6_034,
LongConstantCompositeINTEL = 6_089,
OptNoneINTEL = 6_094,
AtomicFloat16AddEXT = 6_095,
DebugInfoModuleINTEL = 6_114,
BFloat16ConversionINTEL = 6_115,
SplitBarrierINTEL = 6_141,
GlobalVariableFPGADecorationsINTEL = 6_146,
FPGAKernelAttributesv2INTEL = 6_161,
GlobalVariableHostAccessINTEL = 6_167,
FPMaxErrorINTEL = 6_169,
FPGALatencyControlINTEL = 6_171,
FPGAArgumentInterfacesINTEL = 6_174,
GroupUniformArithmeticKHR = 6_400,
CacheControlsINTEL = 6_441,
}
Expand description
SPIR-V operand kind: Capability
Variants§
Matrix = 0
Shader = 1
Geometry = 2
Tessellation = 3
Addresses = 4
Linkage = 5
Kernel = 6
Vector16 = 7
Float16Buffer = 8
Float16 = 9
Float64 = 10
Int64 = 11
Int64Atomics = 12
ImageBasic = 13
ImageReadWrite = 14
ImageMipmap = 15
Pipes = 17
Groups = 18
DeviceEnqueue = 19
LiteralSampler = 20
AtomicStorage = 21
Int16 = 22
TessellationPointSize = 23
GeometryPointSize = 24
ImageGatherExtended = 25
StorageImageMultisample = 27
UniformBufferArrayDynamicIndexing = 28
SampledImageArrayDynamicIndexing = 29
StorageBufferArrayDynamicIndexing = 30
StorageImageArrayDynamicIndexing = 31
ClipDistance = 32
CullDistance = 33
ImageCubeArray = 34
SampleRateShading = 35
ImageRect = 36
SampledRect = 37
GenericPointer = 38
Int8 = 39
InputAttachment = 40
SparseResidency = 41
MinLod = 42
Sampled1D = 43
Image1D = 44
SampledCubeArray = 45
SampledBuffer = 46
ImageBuffer = 47
ImageMSArray = 48
StorageImageExtendedFormats = 49
ImageQuery = 50
DerivativeControl = 51
InterpolationFunction = 52
TransformFeedback = 53
GeometryStreams = 54
StorageImageReadWithoutFormat = 55
StorageImageWriteWithoutFormat = 56
MultiViewport = 57
SubgroupDispatch = 58
NamedBarrier = 59
PipeStorage = 60
GroupNonUniform = 61
GroupNonUniformVote = 62
GroupNonUniformArithmetic = 63
GroupNonUniformBallot = 64
GroupNonUniformShuffle = 65
GroupNonUniformShuffleRelative = 66
GroupNonUniformClustered = 67
GroupNonUniformQuad = 68
ShaderLayer = 69
ShaderViewportIndex = 70
UniformDecoration = 71
CoreBuiltinsARM = 4_165
TileImageColorReadAccessEXT = 4_166
TileImageDepthReadAccessEXT = 4_167
TileImageStencilReadAccessEXT = 4_168
FragmentShadingRateKHR = 4_422
SubgroupBallotKHR = 4_423
DrawParameters = 4_427
WorkgroupMemoryExplicitLayoutKHR = 4_428
WorkgroupMemoryExplicitLayout8BitAccessKHR = 4_429
WorkgroupMemoryExplicitLayout16BitAccessKHR = 4_430
SubgroupVoteKHR = 4_431
StorageBuffer16BitAccess = 4_433
UniformAndStorageBuffer16BitAccess = 4_434
StoragePushConstant16 = 4_435
StorageInputOutput16 = 4_436
DeviceGroup = 4_437
MultiView = 4_439
VariablePointersStorageBuffer = 4_441
VariablePointers = 4_442
AtomicStorageOps = 4_445
SampleMaskPostDepthCoverage = 4_447
StorageBuffer8BitAccess = 4_448
UniformAndStorageBuffer8BitAccess = 4_449
StoragePushConstant8 = 4_450
DenormPreserve = 4_464
DenormFlushToZero = 4_465
SignedZeroInfNanPreserve = 4_466
RoundingModeRTE = 4_467
RoundingModeRTZ = 4_468
RayQueryProvisionalKHR = 4_471
RayQueryKHR = 4_472
RayTraversalPrimitiveCullingKHR = 4_478
RayTracingKHR = 4_479
TextureSampleWeightedQCOM = 4_484
TextureBoxFilterQCOM = 4_485
TextureBlockMatchQCOM = 4_486
Float16ImageAMD = 5_008
ImageGatherBiasLodAMD = 5_009
FragmentMaskAMD = 5_010
StencilExportEXT = 5_013
ImageReadWriteLodAMD = 5_015
Int64ImageEXT = 5_016
ShaderClockKHR = 5_055
ShaderEnqueueAMDX = 5_067
SampleMaskOverrideCoverageNV = 5_249
GeometryShaderPassthroughNV = 5_251
ShaderViewportIndexLayerEXT = 5_254
ShaderViewportMaskNV = 5_255
ShaderStereoViewNV = 5_259
PerViewAttributesNV = 5_260
FragmentFullyCoveredEXT = 5_265
MeshShadingNV = 5_266
ImageFootprintNV = 5_282
MeshShadingEXT = 5_283
FragmentBarycentricKHR = 5_284
ComputeDerivativeGroupQuadsNV = 5_288
FragmentDensityEXT = 5_291
GroupNonUniformPartitionedNV = 5_297
ShaderNonUniform = 5_301
RuntimeDescriptorArray = 5_302
InputAttachmentArrayDynamicIndexing = 5_303
UniformTexelBufferArrayDynamicIndexing = 5_304
StorageTexelBufferArrayDynamicIndexing = 5_305
UniformBufferArrayNonUniformIndexing = 5_306
SampledImageArrayNonUniformIndexing = 5_307
StorageBufferArrayNonUniformIndexing = 5_308
StorageImageArrayNonUniformIndexing = 5_309
InputAttachmentArrayNonUniformIndexing = 5_310
UniformTexelBufferArrayNonUniformIndexing = 5_311
StorageTexelBufferArrayNonUniformIndexing = 5_312
RayTracingPositionFetchKHR = 5_336
RayTracingNV = 5_340
RayTracingMotionBlurNV = 5_341
VulkanMemoryModel = 5_345
VulkanMemoryModelDeviceScope = 5_346
PhysicalStorageBufferAddresses = 5_347
ComputeDerivativeGroupLinearNV = 5_350
RayTracingProvisionalKHR = 5_353
CooperativeMatrixNV = 5_357
FragmentShaderSampleInterlockEXT = 5_363
FragmentShaderShadingRateInterlockEXT = 5_372
ShaderSMBuiltinsNV = 5_373
FragmentShaderPixelInterlockEXT = 5_378
DemoteToHelperInvocation = 5_379
DisplacementMicromapNV = 5_380
RayTracingOpacityMicromapEXT = 5_381
ShaderInvocationReorderNV = 5_383
BindlessTextureNV = 5_390
RayQueryPositionFetchKHR = 5_391
RayTracingDisplacementMicromapNV = 5_409
SubgroupShuffleINTEL = 5_568
SubgroupBufferBlockIOINTEL = 5_569
SubgroupImageBlockIOINTEL = 5_570
SubgroupImageMediaBlockIOINTEL = 5_579
RoundToInfinityINTEL = 5_582
FloatingPointModeINTEL = 5_583
IntegerFunctions2INTEL = 5_584
FunctionPointersINTEL = 5_603
IndirectReferencesINTEL = 5_604
AsmINTEL = 5_606
AtomicFloat32MinMaxEXT = 5_612
AtomicFloat64MinMaxEXT = 5_613
AtomicFloat16MinMaxEXT = 5_616
VectorComputeINTEL = 5_617
VectorAnyINTEL = 5_619
ExpectAssumeKHR = 5_629
SubgroupAvcMotionEstimationINTEL = 5_696
SubgroupAvcMotionEstimationIntraINTEL = 5_697
SubgroupAvcMotionEstimationChromaINTEL = 5_698
VariableLengthArrayINTEL = 5_817
FunctionFloatControlINTEL = 5_821
FPGAMemoryAttributesINTEL = 5_824
FPFastMathModeINTEL = 5_837
ArbitraryPrecisionIntegersINTEL = 5_844
ArbitraryPrecisionFloatingPointINTEL = 5_845
UnstructuredLoopControlsINTEL = 5_886
FPGALoopControlsINTEL = 5_888
KernelAttributesINTEL = 5_892
FPGAKernelAttributesINTEL = 5_897
FPGAMemoryAccessesINTEL = 5_898
FPGAClusterAttributesINTEL = 5_904
LoopFuseINTEL = 5_906
FPGADSPControlINTEL = 5_908
MemoryAccessAliasingINTEL = 5_910
FPGAInvocationPipeliningAttributesINTEL = 5_916
FPGABufferLocationINTEL = 5_920
ArbitraryPrecisionFixedPointINTEL = 5_922
USMStorageClassesINTEL = 5_935
RuntimeAlignedAttributeINTEL = 5_939
IOPipesINTEL = 5_943
BlockingPipesINTEL = 5_945
FPGARegINTEL = 5_948
DotProductInputAll = 6_016
DotProductInput4x8Bit = 6_017
DotProductInput4x8BitPacked = 6_018
DotProduct = 6_019
RayCullMaskKHR = 6_020
CooperativeMatrixKHR = 6_022
BitInstructions = 6_025
GroupNonUniformRotateKHR = 6_026
AtomicFloat32AddEXT = 6_033
AtomicFloat64AddEXT = 6_034
LongConstantCompositeINTEL = 6_089
OptNoneINTEL = 6_094
AtomicFloat16AddEXT = 6_095
DebugInfoModuleINTEL = 6_114
BFloat16ConversionINTEL = 6_115
SplitBarrierINTEL = 6_141
GlobalVariableFPGADecorationsINTEL = 6_146
FPGAKernelAttributesv2INTEL = 6_161
GlobalVariableHostAccessINTEL = 6_167
FPMaxErrorINTEL = 6_169
FPGALatencyControlINTEL = 6_171
FPGAArgumentInterfacesINTEL = 6_174
GroupUniformArithmeticKHR = 6_400
CacheControlsINTEL = 6_441
Implementations§
Source§impl Capability
impl Capability
pub fn from_u32(n: u32) -> Option<Capability>
Source§impl Capability
impl Capability
pub const StorageUniformBufferBlock16: Capability = Self::StorageBuffer16BitAccess
pub const StorageUniform16: Capability = Self::UniformAndStorageBuffer16BitAccess
pub const ShaderViewportIndexLayerNV: Capability = Self::ShaderViewportIndexLayerEXT
pub const FragmentBarycentricNV: Capability = Self::FragmentBarycentricKHR
pub const ShadingRateNV: Capability = Self::FragmentDensityEXT
pub const ShaderNonUniformEXT: Capability = Self::ShaderNonUniform
pub const RuntimeDescriptorArrayEXT: Capability = Self::RuntimeDescriptorArray
pub const InputAttachmentArrayDynamicIndexingEXT: Capability = Self::InputAttachmentArrayDynamicIndexing
pub const UniformTexelBufferArrayDynamicIndexingEXT: Capability = Self::UniformTexelBufferArrayDynamicIndexing
pub const StorageTexelBufferArrayDynamicIndexingEXT: Capability = Self::StorageTexelBufferArrayDynamicIndexing
pub const UniformBufferArrayNonUniformIndexingEXT: Capability = Self::UniformBufferArrayNonUniformIndexing
pub const SampledImageArrayNonUniformIndexingEXT: Capability = Self::SampledImageArrayNonUniformIndexing
pub const StorageBufferArrayNonUniformIndexingEXT: Capability = Self::StorageBufferArrayNonUniformIndexing
pub const StorageImageArrayNonUniformIndexingEXT: Capability = Self::StorageImageArrayNonUniformIndexing
pub const InputAttachmentArrayNonUniformIndexingEXT: Capability = Self::InputAttachmentArrayNonUniformIndexing
pub const UniformTexelBufferArrayNonUniformIndexingEXT: Capability = Self::UniformTexelBufferArrayNonUniformIndexing
pub const StorageTexelBufferArrayNonUniformIndexingEXT: Capability = Self::StorageTexelBufferArrayNonUniformIndexing
pub const VulkanMemoryModelKHR: Capability = Self::VulkanMemoryModel
pub const VulkanMemoryModelDeviceScopeKHR: Capability = Self::VulkanMemoryModelDeviceScope
pub const PhysicalStorageBufferAddressesEXT: Capability = Self::PhysicalStorageBufferAddresses
pub const DemoteToHelperInvocationEXT: Capability = Self::DemoteToHelperInvocation
pub const DotProductInputAllKHR: Capability = Self::DotProductInputAll
pub const DotProductInput4x8BitKHR: Capability = Self::DotProductInput4x8Bit
pub const DotProductInput4x8BitPackedKHR: Capability = Self::DotProductInput4x8BitPacked
pub const DotProductKHR: Capability = Self::DotProduct
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Capability
impl Debug for Capability
Source§impl FromStr for Capability
impl FromStr for Capability
Source§impl Hash for Capability
impl Hash for Capability
Source§impl Ord for Capability
impl Ord for Capability
Source§fn cmp(&self, other: &Capability) -> Ordering
fn cmp(&self, other: &Capability) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for Capability
impl PartialEq for Capability
Source§impl PartialOrd for Capability
impl PartialOrd for Capability
impl Copy for Capability
impl Eq for Capability
impl StructuralPartialEq for Capability
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnwindSafe for Capability
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.