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

  NoRasterization

    Value for `rasterizedStream` that indicates no stream is being rasterized.

  outputs

    The bound stream-out buffer bindings.

    Type

      List[D3D11StreamOutBind]

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