Enum spirv::Capability
source · #[repr(u32)]pub enum Capability {
Show 158 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,
FragmentShadingRateKHR = 4_422,
SubgroupBallotKHR = 4_423,
DrawParameters = 4_427,
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,
Float16ImageAMD = 5_008,
ImageGatherBiasLodAMD = 5_009,
FragmentMaskAMD = 5_010,
StencilExportEXT = 5_013,
ImageReadWriteLodAMD = 5_015,
Int64ImageEXT = 5_016,
ShaderClockKHR = 5_055,
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,
FragmentBarycentricNV = 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,
RayTracingNV = 5_340,
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,
DemoteToHelperInvocationEXT = 5_379,
SubgroupShuffleINTEL = 5_568,
SubgroupBufferBlockIOINTEL = 5_569,
SubgroupImageBlockIOINTEL = 5_570,
SubgroupImageMediaBlockIOINTEL = 5_579,
IntegerFunctions2INTEL = 5_584,
FunctionPointersINTEL = 5_603,
IndirectReferencesINTEL = 5_604,
SubgroupAvcMotionEstimationINTEL = 5_696,
SubgroupAvcMotionEstimationIntraINTEL = 5_697,
SubgroupAvcMotionEstimationChromaINTEL = 5_698,
FPGAMemoryAttributesINTEL = 5_824,
UnstructuredLoopControlsINTEL = 5_886,
FPGALoopControlsINTEL = 5_888,
KernelAttributesINTEL = 5_892,
FPGAKernelAttributesINTEL = 5_897,
BlockingPipesINTEL = 5_945,
FPGARegINTEL = 5_948,
AtomicFloat32AddEXT = 6_033,
AtomicFloat64AddEXT = 6_034,
}
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
FragmentShadingRateKHR = 4_422
SubgroupBallotKHR = 4_423
DrawParameters = 4_427
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
Float16ImageAMD = 5_008
ImageGatherBiasLodAMD = 5_009
FragmentMaskAMD = 5_010
StencilExportEXT = 5_013
ImageReadWriteLodAMD = 5_015
Int64ImageEXT = 5_016
ShaderClockKHR = 5_055
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
FragmentBarycentricNV = 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
RayTracingNV = 5_340
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
DemoteToHelperInvocationEXT = 5_379
SubgroupShuffleINTEL = 5_568
SubgroupBufferBlockIOINTEL = 5_569
SubgroupImageBlockIOINTEL = 5_570
SubgroupImageMediaBlockIOINTEL = 5_579
IntegerFunctions2INTEL = 5_584
FunctionPointersINTEL = 5_603
IndirectReferencesINTEL = 5_604
SubgroupAvcMotionEstimationINTEL = 5_696
SubgroupAvcMotionEstimationIntraINTEL = 5_697
SubgroupAvcMotionEstimationChromaINTEL = 5_698
FPGAMemoryAttributesINTEL = 5_824
UnstructuredLoopControlsINTEL = 5_886
FPGALoopControlsINTEL = 5_888
KernelAttributesINTEL = 5_892
FPGAKernelAttributesINTEL = 5_897
BlockingPipesINTEL = 5_945
FPGARegINTEL = 5_948
AtomicFloat32AddEXT = 6_033
AtomicFloat64AddEXT = 6_034
Implementations§
source§impl Capability
impl Capability
pub const StorageUniformBufferBlock16: Self = Self::StorageBuffer16BitAccess
pub const StorageUniform16: Self = Self::UniformAndStorageBuffer16BitAccess
pub const ShaderViewportIndexLayerNV: Self = Self::ShaderViewportIndexLayerEXT
pub const ShadingRateNV: Self = Self::FragmentDensityEXT
pub const ShaderNonUniformEXT: Self = Self::ShaderNonUniform
pub const RuntimeDescriptorArrayEXT: Self = Self::RuntimeDescriptorArray
pub const InputAttachmentArrayDynamicIndexingEXT: Self = Self::InputAttachmentArrayDynamicIndexing
pub const UniformTexelBufferArrayDynamicIndexingEXT: Self = Self::UniformTexelBufferArrayDynamicIndexing
pub const StorageTexelBufferArrayDynamicIndexingEXT: Self = Self::StorageTexelBufferArrayDynamicIndexing
pub const UniformBufferArrayNonUniformIndexingEXT: Self = Self::UniformBufferArrayNonUniformIndexing
pub const SampledImageArrayNonUniformIndexingEXT: Self = Self::SampledImageArrayNonUniformIndexing
pub const StorageBufferArrayNonUniformIndexingEXT: Self = Self::StorageBufferArrayNonUniformIndexing
pub const StorageImageArrayNonUniformIndexingEXT: Self = Self::StorageImageArrayNonUniformIndexing
pub const InputAttachmentArrayNonUniformIndexingEXT: Self = Self::InputAttachmentArrayNonUniformIndexing
pub const UniformTexelBufferArrayNonUniformIndexingEXT: Self = Self::UniformTexelBufferArrayNonUniformIndexing
pub const StorageTexelBufferArrayNonUniformIndexingEXT: Self = Self::StorageTexelBufferArrayNonUniformIndexing
pub const VulkanMemoryModelKHR: Self = Self::VulkanMemoryModel
pub const VulkanMemoryModelDeviceScopeKHR: Self = Self::VulkanMemoryModelDeviceScope
pub const PhysicalStorageBufferAddressesEXT: Self = Self::PhysicalStorageBufferAddresses
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 FromPrimitive for Capability
impl FromPrimitive for Capability
source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
Converts an
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
Converts an
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
Converts an
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
Converts an
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
Converts an
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§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§fn eq(&self, other: &Capability) -> bool
fn eq(&self, other: &Capability) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for Capability
impl PartialOrd for Capability
source§fn partial_cmp(&self, other: &Capability) -> Option<Ordering>
fn partial_cmp(&self, other: &Capability) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Capability
impl Eq for Capability
impl StructuralEq for Capability
impl StructuralPartialEq for Capability
Auto Trait Implementations§
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