#[repr(u32)]pub enum BuiltIn {
Show 116 variants
Position = 0,
PointSize = 1,
ClipDistance = 3,
CullDistance = 4,
VertexId = 5,
InstanceId = 6,
PrimitiveId = 7,
InvocationId = 8,
Layer = 9,
ViewportIndex = 10,
TessLevelOuter = 11,
TessLevelInner = 12,
TessCoord = 13,
PatchVertices = 14,
FragCoord = 15,
PointCoord = 16,
FrontFacing = 17,
SampleId = 18,
SamplePosition = 19,
SampleMask = 20,
FragDepth = 22,
HelperInvocation = 23,
NumWorkgroups = 24,
WorkgroupSize = 25,
WorkgroupId = 26,
LocalInvocationId = 27,
GlobalInvocationId = 28,
LocalInvocationIndex = 29,
WorkDim = 30,
GlobalSize = 31,
EnqueuedWorkgroupSize = 32,
GlobalOffset = 33,
GlobalLinearId = 34,
SubgroupSize = 36,
SubgroupMaxSize = 37,
NumSubgroups = 38,
NumEnqueuedSubgroups = 39,
SubgroupId = 40,
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
CoreIDARM = 4_160,
CoreCountARM = 4_161,
CoreMaxIDARM = 4_162,
WarpIDARM = 4_163,
WarpMaxIDARM = 4_164,
SubgroupEqMask = 4_416,
SubgroupGeMask = 4_417,
SubgroupGtMask = 4_418,
SubgroupLeMask = 4_419,
SubgroupLtMask = 4_420,
BaseVertex = 4_424,
BaseInstance = 4_425,
DrawIndex = 4_426,
PrimitiveShadingRateKHR = 4_432,
DeviceIndex = 4_438,
ViewIndex = 4_440,
ShadingRateKHR = 4_444,
BaryCoordNoPerspAMD = 4_992,
BaryCoordNoPerspCentroidAMD = 4_993,
BaryCoordNoPerspSampleAMD = 4_994,
BaryCoordSmoothAMD = 4_995,
BaryCoordSmoothCentroidAMD = 4_996,
BaryCoordSmoothSampleAMD = 4_997,
BaryCoordPullModelAMD = 4_998,
FragStencilRefEXT = 5_014,
CoalescedInputCountAMDX = 5_021,
ShaderIndexAMDX = 5_073,
ViewportMaskNV = 5_253,
SecondaryPositionNV = 5_257,
SecondaryViewportMaskNV = 5_258,
PositionPerViewNV = 5_261,
ViewportMaskPerViewNV = 5_262,
FullyCoveredEXT = 5_264,
TaskCountNV = 5_274,
PrimitiveCountNV = 5_275,
PrimitiveIndicesNV = 5_276,
ClipDistancePerViewNV = 5_277,
CullDistancePerViewNV = 5_278,
LayerPerViewNV = 5_279,
MeshViewCountNV = 5_280,
MeshViewIndicesNV = 5_281,
BaryCoordKHR = 5_286,
BaryCoordNoPerspKHR = 5_287,
FragSizeEXT = 5_292,
FragInvocationCountEXT = 5_293,
PrimitivePointIndicesEXT = 5_294,
PrimitiveLineIndicesEXT = 5_295,
PrimitiveTriangleIndicesEXT = 5_296,
CullPrimitiveEXT = 5_299,
LaunchIdNV = 5_319,
LaunchSizeNV = 5_320,
WorldRayOriginNV = 5_321,
WorldRayDirectionNV = 5_322,
ObjectRayOriginNV = 5_323,
ObjectRayDirectionNV = 5_324,
RayTminNV = 5_325,
RayTmaxNV = 5_326,
InstanceCustomIndexNV = 5_327,
ObjectToWorldNV = 5_330,
WorldToObjectNV = 5_331,
HitTNV = 5_332,
HitKindNV = 5_333,
CurrentRayTimeNV = 5_334,
HitTriangleVertexPositionsKHR = 5_335,
HitMicroTriangleVertexPositionsNV = 5_337,
HitMicroTriangleVertexBarycentricsNV = 5_344,
IncomingRayFlagsNV = 5_351,
RayGeometryIndexKHR = 5_352,
WarpsPerSMNV = 5_374,
SMCountNV = 5_375,
WarpIDNV = 5_376,
SMIDNV = 5_377,
HitKindFrontFacingMicroTriangleNV = 5_405,
HitKindBackFacingMicroTriangleNV = 5_406,
CullMaskKHR = 6_021,
}
Expand description
SPIR-V operand kind: BuiltIn
Variants§
Position = 0
PointSize = 1
ClipDistance = 3
CullDistance = 4
VertexId = 5
InstanceId = 6
PrimitiveId = 7
InvocationId = 8
Layer = 9
ViewportIndex = 10
TessLevelOuter = 11
TessLevelInner = 12
TessCoord = 13
PatchVertices = 14
FragCoord = 15
PointCoord = 16
FrontFacing = 17
SampleId = 18
SamplePosition = 19
SampleMask = 20
FragDepth = 22
HelperInvocation = 23
NumWorkgroups = 24
WorkgroupSize = 25
WorkgroupId = 26
LocalInvocationId = 27
GlobalInvocationId = 28
LocalInvocationIndex = 29
WorkDim = 30
GlobalSize = 31
EnqueuedWorkgroupSize = 32
GlobalOffset = 33
GlobalLinearId = 34
SubgroupSize = 36
SubgroupMaxSize = 37
NumSubgroups = 38
NumEnqueuedSubgroups = 39
SubgroupId = 40
SubgroupLocalInvocationId = 41
VertexIndex = 42
InstanceIndex = 43
CoreIDARM = 4_160
CoreCountARM = 4_161
CoreMaxIDARM = 4_162
WarpIDARM = 4_163
WarpMaxIDARM = 4_164
SubgroupEqMask = 4_416
SubgroupGeMask = 4_417
SubgroupGtMask = 4_418
SubgroupLeMask = 4_419
SubgroupLtMask = 4_420
BaseVertex = 4_424
BaseInstance = 4_425
DrawIndex = 4_426
PrimitiveShadingRateKHR = 4_432
DeviceIndex = 4_438
ViewIndex = 4_440
ShadingRateKHR = 4_444
BaryCoordNoPerspAMD = 4_992
BaryCoordNoPerspCentroidAMD = 4_993
BaryCoordNoPerspSampleAMD = 4_994
BaryCoordSmoothAMD = 4_995
BaryCoordSmoothCentroidAMD = 4_996
BaryCoordSmoothSampleAMD = 4_997
BaryCoordPullModelAMD = 4_998
FragStencilRefEXT = 5_014
CoalescedInputCountAMDX = 5_021
ShaderIndexAMDX = 5_073
ViewportMaskNV = 5_253
SecondaryPositionNV = 5_257
SecondaryViewportMaskNV = 5_258
PositionPerViewNV = 5_261
ViewportMaskPerViewNV = 5_262
FullyCoveredEXT = 5_264
TaskCountNV = 5_274
PrimitiveCountNV = 5_275
PrimitiveIndicesNV = 5_276
ClipDistancePerViewNV = 5_277
CullDistancePerViewNV = 5_278
LayerPerViewNV = 5_279
MeshViewCountNV = 5_280
MeshViewIndicesNV = 5_281
BaryCoordKHR = 5_286
BaryCoordNoPerspKHR = 5_287
FragSizeEXT = 5_292
FragInvocationCountEXT = 5_293
PrimitivePointIndicesEXT = 5_294
PrimitiveLineIndicesEXT = 5_295
PrimitiveTriangleIndicesEXT = 5_296
CullPrimitiveEXT = 5_299
LaunchIdNV = 5_319
LaunchSizeNV = 5_320
WorldRayOriginNV = 5_321
WorldRayDirectionNV = 5_322
ObjectRayOriginNV = 5_323
ObjectRayDirectionNV = 5_324
RayTminNV = 5_325
RayTmaxNV = 5_326
InstanceCustomIndexNV = 5_327
ObjectToWorldNV = 5_330
WorldToObjectNV = 5_331
HitTNV = 5_332
HitKindNV = 5_333
CurrentRayTimeNV = 5_334
HitTriangleVertexPositionsKHR = 5_335
HitMicroTriangleVertexPositionsNV = 5_337
HitMicroTriangleVertexBarycentricsNV = 5_344
IncomingRayFlagsNV = 5_351
RayGeometryIndexKHR = 5_352
WarpsPerSMNV = 5_374
SMCountNV = 5_375
WarpIDNV = 5_376
SMIDNV = 5_377
HitKindFrontFacingMicroTriangleNV = 5_405
HitKindBackFacingMicroTriangleNV = 5_406
CullMaskKHR = 6_021
Implementations§
source§impl BuiltIn
impl BuiltIn
pub const SubgroupEqMaskKHR: Self = Self::SubgroupEqMask
pub const SubgroupGeMaskKHR: Self = Self::SubgroupGeMask
pub const SubgroupGtMaskKHR: Self = Self::SubgroupGtMask
pub const SubgroupLeMaskKHR: Self = Self::SubgroupLeMask
pub const SubgroupLtMaskKHR: Self = Self::SubgroupLtMask
pub const BaryCoordNV: Self = Self::BaryCoordKHR
pub const BaryCoordNoPerspNV: Self = Self::BaryCoordNoPerspKHR
pub const FragmentSizeNV: Self = Self::FragSizeEXT
pub const InvocationsPerPixelNV: Self = Self::FragInvocationCountEXT
pub const LaunchIdKHR: Self = Self::LaunchIdNV
pub const LaunchSizeKHR: Self = Self::LaunchSizeNV
pub const WorldRayOriginKHR: Self = Self::WorldRayOriginNV
pub const WorldRayDirectionKHR: Self = Self::WorldRayDirectionNV
pub const ObjectRayOriginKHR: Self = Self::ObjectRayOriginNV
pub const ObjectRayDirectionKHR: Self = Self::ObjectRayDirectionNV
pub const RayTminKHR: Self = Self::RayTminNV
pub const RayTmaxKHR: Self = Self::RayTmaxNV
pub const InstanceCustomIndexKHR: Self = Self::InstanceCustomIndexNV
pub const ObjectToWorldKHR: Self = Self::ObjectToWorldNV
pub const WorldToObjectKHR: Self = Self::WorldToObjectNV
pub const HitKindKHR: Self = Self::HitKindNV
pub const IncomingRayFlagsKHR: Self = Self::IncomingRayFlagsNV
Trait Implementations§
source§impl Ord for BuiltIn
impl Ord for BuiltIn
source§impl PartialOrd for BuiltIn
impl PartialOrd for BuiltIn
impl Copy for BuiltIn
impl Eq for BuiltIn
impl StructuralPartialEq for BuiltIn
Auto Trait Implementations§
impl Freeze for BuiltIn
impl RefUnwindSafe for BuiltIn
impl Send for BuiltIn
impl Sync for BuiltIn
impl Unpin for BuiltIn
impl UnwindSafe for BuiltIn
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
)