# D3D11 Pipeline State

Contents

- D3D11 Pipeline State

  - Vertex Input

  - Shaders and Bindings

  - Stream-out

  - Rasterizer

  - Output Merger

  - Predication

class `renderdoc.``D3D11State`

  The full current D3D11 pipeline state.

  `computeShader`

    The compute shader stage.

    Type

      D3D11Shader

  `domainShader`

    The domain shader stage.

    Type

      D3D11Shader

  `geometryShader`

    The geometry shader stage.

    Type

      D3D11Shader

  `hullShader`

    The hull shader stage.

    Type

      D3D11Shader

  `inputAssembly`

    The input assembly pipeline stage.

    Type

      D3D11InputAssembly

  `outputMerger`

    The output merger pipeline stage.

    Type

      D3D11OutputMerger

  `pixelShader`

    The pixel shader stage.

    Type

      D3D11Shader

  `predication`

    The predicated rendering state.

    Type

      D3D11Predication

  `rasterizer`

    The rasterizer pipeline stage.

    Type

      D3D11Rasterizer

  `streamOut`

    The stream-out pipeline stage.

    Type

      D3D11StreamOut

  `vertexShader`

    The vertex shader stage.

    Type

      D3D11Shader

## Vertex Input

class `renderdoc.``D3D11InputAssembly`

  Describes the input assembler data.

  `bytecode`

    The shader reflection for the bytecode used to create the input layout.

    Type

      ShaderReflection

  `indexBuffer`

    The bound index buffer.

    Type

      D3D11IndexBuffer

  `layouts`

    The input layout elements in this layout.

    Type

      List[D3D11Layout]

  `resourceId`

    The `ResourceId` of the layout object.

  `topology`

    The current primitive topology.

    Type

      Topology

  `vertexBuffers`

    The bound vertex buffers

    Type

      List[D3D11VertexBuffer]

class `renderdoc.``D3D11IndexBuffer`

  Describes the D3D11 index buffer binding.

  `byteOffset`

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

  `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.

class `renderdoc.``D3D11VertexBuffer`

  Describes a single D3D11 vertex buffer binding.

  `byteOffset`

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

  `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.``D3D11Layout`

  Describes a single D3D11 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.

## Shaders and Bindings

class `renderdoc.``D3D11Shader`

  Describes a D3D11 shader stage.

  `bindpointMapping`

    The bindpoint mapping data to match `reflection`.

    Type

      ShaderBindpointMapping

  `classInstances`

    The bound class instance names.

    Type

      List[str]

  `constantBuffers`

    The bound constant buffers.

    Type

      List[D3D11ConstantBuffer]

  `reflection`

    The reflection data for this shader.

    Type

      ShaderReflection

  `resourceId`

    The `ResourceId` of the shader itself.

  `samplers`

    The bound samplers.

    Type

      List[D3D11Sampler]

  `srvs`

    The bound SRVs.

    Type

      List[D3D11View]

  `stage`

    A `ShaderStage` identifying which stage this shader is bound to.

  `uavs`

    The bound UAVs - only valid for the compute stage, other stages pull the UAVs from the `D3D11OutputMerger`.

    Type

      List[D3D11View]

class `renderdoc.``D3D11ConstantBuffer`

  Describes a constant buffer binding.

  `resourceId`

    The `ResourceId` of the buffer.

  `vecCount`

    The size of the buffer binding, in units of `float4` (16 bytes).

    If the capture isn’t using the D3D11.1 binding methods, this offset will be 4096 (64 kiB).

  `vecOffset`

    The offset of the buffer binding, in units of `float4` (16 bytes).

    If the capture isn’t using the D3D11.1 binding methods, this offset will be 0.

class `renderdoc.``D3D11Sampler`

  Describes a sampler state object.

  `UseBorder`()

    Check if the border color is used in this D3D11 sampler.

    Returns

      `True` if the border color is used, `False` otherwise.

    Return type

      bool

  `addressU`

    The `AddressMode` in the U direction.

  `addressV`

    The `AddressMode` in the V direction.

  `addressW`

    The `AddressMode` in the W direction.

  `borderColor`

    The RGBA border color.

    Type

      Tuple[float,float,float,float]

  `compareFunction`

    The `CompareFunction` for comparison samplers.

  `filter`

    The filtering mode.

    Type

      TextureFilter

  `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.

  `resourceId`

    The `ResourceId` of the sampler state object.

class `renderdoc.``D3D11View`

  Describes the details of a D3D11 resource view - any one of UAV, SRV, RTV or DSV.

  `bufferFlags`

    Valid for buffers - the flags for additional view properties.

  `bufferStructCount`

    If the view has a hidden counter, this stores the current value of the counter.

  `counterResourceId`

    The `ResourceId` of the resource where the hidden buffer counter is stored.

  `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 first mip that is available through the view.

  `firstSlice`

    Valid for texture arrays or 3D textures - the first slice available through the view.

  `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.

  `resourceResourceId`

    The `ResourceId` of the underlying resource the view refers to.

  `structured`

    `True` if this view describes a structured buffer.

  `type`

    The `TextureType` of the view type.

  `viewFormat`

    The format cast that the view uses.

    Type

      ResourceFormat

  `viewResourceId`

    The `ResourceId` of the view itself.

## Stream-out

class `renderdoc.``D3D11StreamOut`

  Describes the stream-out stage bindings.

  `outputs`

    The bound stream-out buffer bindings.

    Type

      List[D3D11StreamOutBind]

class `renderdoc.``D3D11StreamOutBind`

  Describes a binding on the D3D11 stream-out stage.

  `byteOffset`

    The byte offset of the stream-output binding.

  `resourceId`

    The `ResourceId` of the buffer.

## Rasterizer

class `renderdoc.``D3D11Rasterizer`

  Describes the rasterization state of the D3D11 pipeline.

  `scissors`

    The bound scissor regions.

    Type

      List[Scissor]

  `state`

    The details of the rasterization state.

    Type

      D3D11RasterizerState

  `viewports`

    The bound viewports.

    Type

      List[Viewport]

class `renderdoc.``D3D11RasterizerState`

  Describes a rasterizer state object.

  `antialiasedLines`

    `True` if lines should be anti-aliased. Ignored if `multisampleEnable` is `False`.

  `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.

  `multisampleEnable`

    `True` if the quadrilateral MSAA algorithm should be used on MSAA targets.

  `resourceId`

    The `ResourceId` of the rasterizer state object.

  `scissorEnable`

    `True` if the scissor test should be applied.

  `slopeScaledDepthBias`

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

## Output Merger

class `renderdoc.``D3D11OutputMerger`

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

  `blendState`

    The current blend state details.

    Type

      D3D11BlendState

  `depthReadOnly`

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

  `depthStencilState`

    The current depth-stencil state details.

    Type

      D3D11DepthStencilState

  `depthTarget`

    The currently bound depth-stencil target.

    Type

      D3D11View

  `renderTargets`

    The bound render targets.

    Type

      List[D3D11View]

  `stencilReadOnly`

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

  `uavStartSlot`

    Which slot in the output targets is the first UAV.

  `uavs`

    The bound UAVs.

    Type

      List[D3D11View]

class `renderdoc.``D3D11DepthStencilState`

  Describes a depth-stencil state object.

  `backFace`

    The stencil state for back-facing polygons.

    Type

      StencilFace

  `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

  `resourceId`

    The `ResourceId` of the depth-stencil state object.

  `stencilEnable`

    `True` if stencil operations should be performed.

class `renderdoc.``D3D11BlendState`

  Describes a blend state object.

  `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.

  `resourceId`

    The `ResourceId` of the blend state object.

  `sampleMask`

    The mask determining which samples are written to.

## Predication

class `renderdoc.``D3D11Predication`

  Describes the current state of predicated rendering.

  `isPassing`

    `True` if the current predicate would render.

  `resourceId`

    The `ResourceId` of the active predicate.

  `value`

    The value to go along with the predicate.