Skip to content

PSOs, Shaders, and Signatures

Chuck Walbourn edited this page Apr 24, 2018 · 26 revisions

In order to render using DirectX 12, the complete description of the render state needs to be captured in a ID3D12PipelineState interface object (PSO). Compiled shaders for all stages you use are bound to the PSO at creation time. In order to share data between the HLSL shader and the CPU, the ID3D12RootSignature interface object describes how the shader expects parameters to be bound and is also part of the PSO.

Creating root signatures

UNDER DEVELOPMENT

Compile shaders

UNDER DEVELOPMENT

Create pipeline state objects

UNDER DEVELOPMENT

Binding

UNDER DEVELOPMENT

Using Effects

In DirectX Tool Kit for DirectX 12, the individual Effects objects include per-device root signature and a per-instance pipeline state object. These are bound when the Apply method is invoked.

Further reading

SimpleTriangle12 sample for PC, UWP, Xbox One XDK

MSDN: Root Signatures

For Use

  • Universal Windows Platform apps
  • Windows desktop apps
  • Windows 11
  • Windows 10
  • Xbox One
  • Xbox Series X|S

Architecture

  • x86
  • x64
  • ARM64

For Development

  • Visual Studio 2022
  • Visual Studio 2019 (16.11)
  • clang/LLVM v12 - v18
  • MinGW 12.2, 13.2
  • CMake 3.20

Related Projects

DirectX Tool Kit for DirectX 11

DirectXMesh

DirectXTex

DirectXMath

Tools

Test Suite

Model Viewer

Content Exporter

DxCapsViewer

See also

DirectX Landing Page

Clone this wiki locally