D3D12 Pipeline State¶
Contents
-
class
renderdoc.D3D12State¶ The full current D3D12 pipeline state.
-
computeShader¶ The compute shader stage.
- Type
-
domainShader¶ The domain shader stage.
- Type
-
geometryShader¶ The geometry shader stage.
- Type
-
hullShader¶ The hull shader stage.
- Type
-
inputAssembly¶ The input assembly pipeline stage.
- Type
-
pipelineResourceId¶ The
ResourceIdof the pipeline state object.
-
pixelShader¶ The pixel shader stage.
- Type
-
rasterizer¶ The rasterizer pipeline stage.
- Type
-
resourceStates¶ The resource states for the currently live resources.
- Type
List[D3D12ResourceData]
-
rootElements¶ The root signature, as a range per element.
- Type
List[D3D12RootSignatureRange]
-
rootSignatureResourceId¶ The
ResourceIdof the root signature object.
-
streamOut¶ The stream-out pipeline stage.
- Type
-
vertexShader¶ The vertex shader stage.
- Type
-
Root Signature and Bindings¶
-
class
renderdoc.D3D12RootSignatureRange¶ Contains information for a single root signature element range
-
constantBuffers¶ The constant buffers in this range.
- Type
List[D3D12ConstantBuffer]
-
dynamicallyUsedCount¶ Lists how many bindings in
viewsare dynamically used. Useful to avoid redundant iteration to determine whether any bindings are present.For more information see
D3D12View.dynamicallyUsed.
-
firstUsedIndex¶ Gives the index of the first binding in
viewsthat is dynamically used. Useful to avoid redundant iteration in very large descriptor arrays with a small subset that are used.For more information see
D3D12View.dynamicallyUsed.
-
immediate¶ Trueif this root element is a root constant (i.e. not in a table).
-
lastUsedIndex¶ Gives the index of the first binding in
viewsthat is dynamically used. Useful to avoid redundant iteration in very large descriptor arrays with a small subset that are used.Note
This may be set to a higher value than the number of bindings, if no dynamic use information is available. Ensure that this is an additional check on the bind and the count is still respected.
For more information see
D3D12View.dynamicallyUsed.
-
registerSpace¶ The register space of this element.
-
rootElement¶ The index in the original root signature that this descriptor came from.
-
samplers¶ The samplers in this range.
- Type
List[D3D12Sampler]
-
visibility¶ The
ShaderStageMaskof this element.
-
-
class
renderdoc.D3D12ConstantBuffer¶ Describes the details of a constant buffer view descriptor.
-
bind¶ The shader register that this constant buffer is bound to.
-
byteOffset¶ The byte offset where the buffer view starts in the underlying buffer.
-
byteSize¶ How many bytes are in this constant buffer view.
-
resourceId¶ The
ResourceIdof the underlying buffer resource.
-
rootValues¶ If
immediateisTrueand this is a root constant, this contains the root values set as interpreted as a series of DWORD values.- Type
List[int]
-
tableIndex¶ The index in the the parent descriptor table where this descriptor came from.
-
-
class
renderdoc.D3D12Sampler¶ Describes the details of a sampler descriptor.
-
UseBorder()¶ Check if the border color is used in this D3D12 sampler.
- Returns
Trueif the border color is used,Falseotherwise.- Return type
bool
-
addressU¶ The
AddressModein the U direction.
-
addressV¶ The
AddressModein the V direction.
-
addressW¶ The
AddressModein the W direction.
-
bind¶ The shader register that this sampler is bound to.
-
borderColor¶ The RGBA border color.
- Type
Tuple[float,float,float,float]
-
compareFunction¶ The
CompareFunctionfor comparison samplers.
-
filter¶ The filtering mode.
- Type
-
maxAnisotropy¶ The maximum anisotropic filtering level to use.
-
maxLOD¶ The maximum mip level that can be used.
-
minLOD¶ The minimum mip level that can be used.
-
mipLODBias¶ A bias to apply to the calculated mip level before sampling.
-
tableIndex¶ The index in the the parent descriptor table where this descriptor came from.
-
-
class
renderdoc.D3D12View¶ Describes the details of a D3D12 resource view - any one of UAV, SRV, RTV or DSV.
-
bind¶ The shader register that this view is bound to.
-
bufferFlags¶ The
D3DBufferViewFlagsset for the buffer.
-
bufferStructCount¶ If the view has a hidden counter, this stores the current value of the counter.
-
counterByteOffset¶ The byte offset in
counterResourceIdwhere the counter is stored.
-
counterResourceId¶ The
ResourceIdof the resource where the hidden buffer counter is stored.
-
dynamicallyUsed¶ Trueif this binding element is dynamically used.If set to
Falsethis means that the binding was available to the shader but during execution it was not referenced. The data gathered for setting this variable is conservative, meaning that only accesses through arrays will have this calculated to reduce the required feedback bandwidth - single non-arrayed descriptors may have this value set toTrueeven if the shader did not use them, since single descriptors may only be dynamically skipped by control flow.
-
elementByteSize¶ The byte size of a single element in the view. Either the byte size of
viewFormat, or the structured buffer element size, as appropriate.
-
firstElement¶ Valid for buffers - the first element to be used in the view.
-
firstMip¶ Valid for textures - the highest mip that is available through the view.
-
firstSlice¶ Valid for texture arrays or 3D textures - the first slice available through the view.
-
minLODClamp¶ The minimum mip-level clamp applied when sampling this texture.
-
numElements¶ Valid for buffers - the number of elements to be used in the view.
-
numMips¶ Valid for textures - the number of mip levels in the view.
-
numSlices¶ Valid for texture arrays or 3D textures - the number of slices in the view.
-
resourceId¶ The
ResourceIdof the underlying resource the view refers to.
-
swizzle¶ The swizzle applied to a texture by the view.
- Type
-
tableIndex¶ The index in the the parent descriptor table where this descriptor came from.
-
type¶ The
TextureTypeof the view type.
-
viewFormat¶ The format cast that the view uses.
- Type
-
Vertex Input¶
-
class
renderdoc.D3D12InputAssembly¶ Describes the input assembler state in the PSO.
-
indexBuffer¶ The bound index buffer.
- Type
-
indexStripCutValue¶ The index value to use for cutting strips. Either
0,0xffffor0xffffffff. If the value is 0, strip cutting is disabled.
-
layouts¶ The input layout elements in this layout.
- Type
List[D3D12Layout]
-
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
byteOffsetthat 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
TightlyPackedthen 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
-
inputSlot¶ The vertex buffer input slot where the data is sourced from.
-
instanceDataStepRate¶ If
perInstanceisTruethen 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¶ Trueif 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
ResourceIdof 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
ResourceIdof the index buffer.
-
Shader¶
-
class
renderdoc.D3D12Shader¶ Describes a D3D12 shader stage.
-
bindpointMapping¶ The bindpoint mapping data to match
reflection.
-
reflection¶ The reflection data for this shader.
- Type
-
resourceId¶ The
ResourceIdof the shader object itself.
-
stage¶ A
ShaderStageidentifying which stage this shader is bound to.
-
Stream-out¶
-
class
renderdoc.D3D12StreamOut¶ Describes the stream-out state in the PSO.
-
outputs¶ The bound stream-out buffer bindings.
- Type
List[D3D12StreamOutBind]
-
-
class
renderdoc.D3D12StreamOutBind¶ Describes a binding on the D3D12 stream-out stage.
-
byteOffset¶ The byte offset in
resourceIdwhere the buffer view starts in the underlying buffer.
-
byteSize¶ How many bytes are in this stream-out buffer view.
-
resourceId¶ The
ResourceIdof the buffer.
-
writtenCountByteOffset¶ The byte offset in
writtenCountResourceIdwhere the stream-out count will be written.
-
writtenCountResourceId¶ The
ResourceIdof 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.
-
state¶ The details of the rasterization state.
- Type
-
-
class
renderdoc.D3D12RasterizerState¶ Describes the rasterizer state in the PSO.
-
antialiasedLines¶ Trueif lines should be anti-aliased. Ignored ifmultisampleEnableisFalse.
-
baseShadingRate¶ The current base variable shading rate. This will always be 1x1 when variable shading is disabled.
- Type
Tuple[int,int]
-
conservativeRasterization¶ The current
ConservativeRastermode.
-
depthBias¶ The fixed depth bias value to apply to z-values.
-
depthBiasClamp¶ The clamp value for calculated depth bias from
depthBiasandslopeScaledDepthBias
-
depthClip¶ Trueif pixels outside of the near and far depth planes should be clipped.
-
forcedSampleCount¶ A sample count to force rasterization to when UAV rendering or rasterizing, or 0 to not force any sample count.
-
frontCCW¶ Trueif counter-clockwise polygons are front-facing.Falseif clockwise polygons are front-facing.
-
multisampleEnable¶ Trueif the quadrilateral MSAA algorithm should be used on MSAA targets.
-
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
baseShadingRateand 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
-
shadingRateImage¶ The image bound as a shading rate image.
- Type
-
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
-
depthReadOnly¶ Trueif depth access to the depth-stencil target is read-only.
-
depthStencilState¶ The current depth-stencil state details.
-
multiSampleCount¶ The sample count used for rendering.
-
multiSampleQuality¶ The MSAA quality level used for rendering.
-
stencilReadOnly¶ Trueif 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
-
depthBoundsEnable¶ Trueif depth bounds tests should be applied.
-
depthEnable¶ Trueif depth testing should be performed.
-
depthFunction¶ The
CompareFunctionto use for testing depth values.
-
depthWrites¶ Trueif depth values should be written to the depth target.
-
frontFace¶ The stencil state for front-facing polygons.
- Type
-
maxDepthBounds¶ The far plane bounding value.
-
minDepthBounds¶ The near plane bounding value.
-
stencilEnable¶ Trueif stencil operations should be performed.
-
-
class
renderdoc.D3D12BlendState¶ Describes the blend state in the PSO.
-
alphaToCoverage¶ Trueif 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¶ Trueif independent blending for each target should be used.Falseif the first blend should be applied to all targets.
-
Resource States¶
-
class
renderdoc.D3D12ResourceData¶ Contains the current state of a given resource.
-
resourceId¶ The
ResourceIdof the resource.
-
states¶ The subresource states in this resource.
- Type
List[D3D12ResourceState]
-