pub enum Register {
Show 32 variants
Temp,
Input,
Output,
IndexableTemp,
Constant,
Immediate,
Texture,
Sampler,
Null,
Uav,
ImmediateBuffer,
PrimitiveId,
InputCoverage,
OutputDepth,
OutputDepthGreaterEqual,
OutputDepthLessEqual,
OutputCoverage,
OutputStencilRef,
GroupSharedMemory,
ThreadId,
ThreadGroupId,
ThreadIdInGroup,
ThreadIdInGroupFlattened,
OutputControlPointId,
ForkInstanceId,
JoinInstanceId,
InputControlPoint,
OutputControlPoint,
InputPatchConstant,
InputDomainPoint,
Stream,
GsInstanceId,
}Expand description
The kind of register an operand names.
Variants§
Temp
A temporary register (r<n>).
Input
An input register (v<n>).
Output
An output register (o<n>).
IndexableTemp
An indexable temporary (x<n>[i]).
Constant
A constant buffer register (cb<slot>[row]).
Immediate
An immediate operand (l(...)), its values in Operand::immediate.
Texture
A shader resource view (t<n>).
Sampler
A sampler (s<n>).
Null
The null register (null), a destination that discards its result.
Uav
An unordered-access view (u<n>).
ImmediateBuffer
The immediate constant buffer (icb[n]), its rows the program’s own.
PrimitiveId
vPrim, the primitive id input.
InputCoverage
vCoverage, the input coverage mask.
OutputDepth
oDepth.
OutputDepthGreaterEqual
oDepthGE, a depth output that is at least the rasterized depth.
OutputDepthLessEqual
oDepthLE, a depth output that is at most the rasterized depth.
OutputCoverage
oMask, the coverage output.
OutputStencilRef
oStencilRef, the stencil reference output.
g<n>, thread-group shared memory.
ThreadId
vThreadID, vThreadGroupID, vThreadIDInGroup and vThreadIDInGroupFlattened, a compute program’s ids.
ThreadGroupId
vThreadGroupID.
ThreadIdInGroup
vThreadIDInGroup.
ThreadIdInGroupFlattened
vThreadIDInGroupFlattened.
OutputControlPointId
vOutputControlPointID, vForkInstanceID, vJoinInstanceID: a hull program’s phase numbers.
ForkInstanceId
vForkInstanceID, a hull program’s fork phase instance.
JoinInstanceId
vJoinInstanceID, a hull program’s join phase instance.
InputControlPoint
vicp[point][register]: an input control point of a hull or domain program.
OutputControlPoint
vocp[point][register]: an output control point a hull program’s patch-constant phases read.
InputPatchConstant
vpc[register]: a patch constant a domain program reads (or a hull program’s join phase).
InputDomainPoint
vDomain: a domain program’s location in its patch.
Stream
m<n>: a geometry program’s output stream.
GsInstanceId
vGSInstanceID.