D3D12 Pipeline State

class renderdoc.D3D12State

The full current D3D12 pipeline state.

ampShader

The amplification shader stage.

Type

D3D12Shader

computeShader

The compute shader stage.

Type

D3D12Shader

descriptorHeaps

The descriptor heaps currently bound.

Type

List[ResourceId]

domainShader

The domain shader stage.

Type

D3D12Shader

geometryShader

The geometry shader stage.

Type

D3D12Shader

hullShader

The hull shader stage.

Type

D3D12Shader

inputAssembly

The input assembly pipeline stage.

Type

D3D12InputAssembly

meshShader

The mesh shader stage.

Type

D3D12Shader

outputMerger

The output merger pipeline stage.

Type

D3D12OM

pipelineResourceId

The ResourceId of the pipeline state object.

pixelShader

The pixel shader stage.

Type

D3D12Shader

rasterizer

The rasterizer pipeline stage.

Type

D3D12Rasterizer

resourceStates

The resource states for the currently live resources.

Type

List[D3D12ResourceData]

rootSignature

Details of the root signature structure and root parameters.

Type

D3D12RootSignature

streamOut

The stream-out pipeline stage.

Type

D3D12StreamOut

vertexShader

The vertex shader stage.

Type

D3D12Shader

Vertex Input

class renderdoc.D3D12InputAssembly

Describes the input assembler state in the PSO.

indexBuffer

The bound index buffer.

Type

D3D12IndexBuffer

indexStripCutValue

The index value to use for cutting strips. Either 0, 0xffff or 0xffffffff. If the value is 0, strip cutting is disabled.

layouts

The input layout elements in this layout.

Type

List[D3D12Layout]

topology

The current primitive topology.

Type

Topology

vertexBuffers

The bound vertex buffers

Type

List[D3D12VertexBuffer]

class renderdoc.D3D12Layout

Describes a single D3D12 input layout element for one vertex input.

TightlyPacked

Value for byteOffset that indicates this element is tightly packed.

byteOffset

The byte offset from the start of the vertex data in the vertex buffer from inputSlot.

If the value is TightlyPacked then the element is packed tightly after the previous element, or 0 if this is the first element.

format

The format describing how the input data is interpreted.

Type

ResourceFormat

inputSlot

The vertex buffer input slot where the data is sourced from.

instanceDataStepRate

If perInstance is True then this is how many times each instance data is used before advancing to the next instance.

E.g. if this value is two, then two instances will be drawn with the first instance data, then two with the next instance data.

perInstance

True if the vertex data is instance-rate.

semanticIndex

The semantic index for this input.

semanticName

The semantic name for this input.

class renderdoc.D3D12VertexBuffer

Describes a single D3D12 vertex buffer binding.

byteOffset

The byte offset from the start of the buffer to the beginning of the vertex data.

byteSize

The number of bytes available in this vertex buffer.

byteStride

The byte stride between the start of one set of vertex data and the next.

resourceId

The ResourceId of the buffer bound to this slot.

class renderdoc.D3D12IndexBuffer

Describes the D3D12 index buffer binding.

byteOffset

The byte offset from the start of the buffer to the beginning of the index data.

byteSize

The number of bytes available in this index buffer.

byteStride

The number of bytes for each index in the index buffer. Typically 2 or 4 bytes but it can be 0 if no index buffer is bound.

resourceId

The ResourceId of the index buffer.

Shader

class renderdoc.D3D12Shader

Describes a D3D12 shader stage.

reflection

The reflection data for this shader.

Type

ShaderReflection

resourceId

The ResourceId of the shader object itself.

stage

A ShaderStage identifying which stage this shader is bound to.

Root Signature

class renderdoc.D3D12RootSignature

Contains the root signature structure and root parameters.

parameters

The parameters in this root signature.

Type

List[D3D12RootParam]

resourceId

The ResourceId of the root signature object.

Type

ResourceId

staticSamplers

The static samplers defined in this root signature.

Type

List[D3D12StaticSampler]

class renderdoc.D3D12RootParam

Contains the structure and content of a single root parameter.

constants

For a root constant parameter, the words defined.

Type

bytes

descriptor

For a root descriptor parameter, the descriptor itself.

Type

Descriptor

heap

For a root table parameter, the descriptor heap bound to this parameter. See heapByteOffset and tableRanges.

Type

ResourceId

heapByteOffset

For a root table parameter, the byte offset into the descriptor heap bound to this parameter. See heap and tableRanges.

Type

ResourceId

tableRanges

For a root table parameter, the descriptor ranges that define this table. See heap and heapByteOffset.

Type

List[D3D12RootTableRange]

visibility

The shader stage that can access this parameter.

Type

ShaderStageMask

class renderdoc.D3D12RootTableRange

Contains the structure of a single range within a root table definition.

appended

Whether or not this table was appended after the previous, leading to an auto-calculated offset in tableByteOffset.

Type

bool

baseRegister

The first register in this range.

Type

int

category

The descriptor category specified in this range.

Type

DescriptorCategory

count

The number of registers in this range.

Type

int

space

The register space of this range.

Type

int

tableByteOffset

The offset in bytes from the start of the table as defined in D3D12RootParam.

Type

int

class renderdoc.D3D12StaticSampler

Contains the details of a single static sampler in a root signature.

descriptor

The details of the sampler descriptor itself.

Type

SamplerDescriptor

reg

The register number of this sampler.

Type

int

space

The register space of this sampler.

Type

int

visibility

The shader stage that can access this sampler.

Type

ShaderStageMask

Stream-out

class renderdoc.D3D12StreamOut

Describes the stream-out state in the PSO.

NoRasterization

Value for rasterizedStream that indicates no stream is being rasterized.

outputs

The bound stream-out buffer bindings.

Type

List[D3D12StreamOutBind]

rasterizedStream

Which stream-out stream is being used for rasterization.

If the value is NoRasterization then no stream has been selected for rasterization.

Type

int

class renderdoc.D3D12StreamOutBind

Describes a binding on the D3D12 stream-out stage.

byteOffset

The byte offset in resourceId where the buffer view starts in the underlying buffer.

byteSize

How many bytes are in this stream-out buffer view.

resourceId

The ResourceId of the buffer.

writtenCountByteOffset

The byte offset in writtenCountResourceId where the stream-out count will be written.

writtenCountResourceId

The ResourceId of the buffer where the written count will be stored.

Rasterizer

class renderdoc.D3D12Rasterizer

Describes the rasterization state of the D3D12 pipeline.

sampleMask

The mask determining which samples are written to.

scissors

The bound scissor regions.

Type

List[Scissor]

state

The details of the rasterization state.

Type

D3D12RasterizerState

viewports

The bound viewports.

Type

List[Viewport]

class renderdoc.D3D12RasterizerState

Describes the rasterizer state in the PSO.

baseShadingRate

The current base variable shading rate. This will always be 1x1 when variable shading is disabled.

Type

Tuple[int,int]

conservativeRasterization

The current ConservativeRaster mode.

cullMode

The polygon CullMode.

depthBias

The fixed depth bias value to apply to z-values.

depthBiasClamp

The clamp value for calculated depth bias from depthBias and slopeScaledDepthBias

depthClip

True if pixels outside of the near and far depth planes should be clipped.

fillMode

The polygon FillMode.

forcedSampleCount

A sample count to force rasterization to when UAV rendering or rasterizing, or 0 to not force any sample count.

frontCCW

True if counter-clockwise polygons are front-facing. False if clockwise polygons are front-facing.

lineRasterMode

The line rasterization mode.

shadingRateCombiners

The shading rate combiners.

The combiners are applied as follows, according to the D3D spec:

intermediateRate = combiner[0] ( baseShadingRate,  shaderExportedShadingRate ) finalRate        = combiner[1] ( intermediateRate, imageBasedShadingRate     )

Where the first input is from baseShadingRate and the second is the exported shading rate from a vertex or geometry shader, which defaults to 1x1 if not exported.

The intermediate result is then used as the first input to the second combiner, together with the shading rate sampled from the shading rate image.

Type

Tuple[ShadingRateCombiner,ShadingRateCombiner]

shadingRateImage

The image bound as a shading rate image.

Type

ResourceId

slopeScaledDepthBias

The slope-scaled depth bias value to apply to z-values.

Output Merger

class renderdoc.D3D12OM

Describes the current state of the output-merger stage of the D3D12 pipeline.

blendState

The current blend state details.

Type

D3D12BlendState

depthReadOnly

True if depth access to the depth-stencil target is read-only.

depthStencilState

The current depth-stencil state details.

Type

D3D12DepthStencilState

depthTarget

The currently bound depth-stencil target.

Type

Descriptor

multiSampleCount

The sample count used for rendering.

multiSampleQuality

The MSAA quality level used for rendering.

renderTargets

The bound render targets.

Type

List[Descriptor]

stencilReadOnly

True if stenncil access to the depth-stencil target is read-only.

class renderdoc.D3D12DepthStencilState

Describes the state of the depth-stencil state in the PSO.

backFace

The stencil state for back-facing polygons.

Type

StencilFace

depthBoundsEnable

True if depth bounds tests should be applied.

depthEnable

True if depth testing should be performed.

depthFunction

The CompareFunction to use for testing depth values.

depthWrites

True if depth values should be written to the depth target.

frontFace

The stencil state for front-facing polygons.

Type

StencilFace

maxDepthBounds

The far plane bounding value.

minDepthBounds

The near plane bounding value.

stencilEnable

True if stencil operations should be performed.

class renderdoc.D3D12BlendState

Describes the blend state in the PSO.

alphaToCoverage

True if alpha-to-coverage should be used when blending to an MSAA target.

blendFactor

The constant blend factor to use in blend equations.

Type

Tuple[float,float,float,float]

blends

The blend operations for each target.

Type

List[ColorBlend]

independentBlend

True if independent blending for each target should be used.

False if the first blend should be applied to all targets.

Resource States

class renderdoc.D3D12ResourceData

Contains the current state of a given resource.

resourceId

The ResourceId of the resource.

states

The subresource states in this resource.

Type

List[D3D12ResourceState]

class renderdoc.D3D12ResourceState

Describes the current state that a sub-resource is in.

name

A human-readable name for the current state.