Describes a derived graphics pipeline state object (which can be a D3D12_DEPTH_STENCIL_DESC, D3D12_RASTERIZER_DESC, D3D12_BLEND_DESC, or SampleMask). The new pipeline state object is derived from an existing pipeline state object.
typedef struct D3D12XBOX_DERIVED_GRAPHICS_STATE_DESC {
D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE Type;
union {
D3D12_DEPTH_STENCIL_DESC DepthStencilDesc;
D3D12_RASTERIZER_DESC RasterizerDesc;
D3D12_BLEND_DESC BlendDesc;
UINT SampleMask;
D3D12XBOX_PIXEL_SHADER_OPTIONS_DESC PixelShaderOptions;
D3D12XBOX_DEPTH_STENCIL_OPTIONS_DESC DepthStencilOptions;
D3D12XBOX_GRAPHICS_SHADER_LIMITS_DESC ShaderLimitsDesc;
D3D12XBOX_TESSELLATION_PARAMETERS_DESC TessellationParameters;
};
} D3D12XBOX_DERIVED_GRAPHICS_STATE_DESC;
Type
The derived graphics pipeline state type, as a D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE enumeration constant, such as for “depth and stencil”, “rasterizer”, “blend”, or “sample mask”.
DepthStencilDesc
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_DEPTH_STENCIL . The depth or stencil description, as a D3D12_DEPTH_STENCIL_DESC structure.
RasterizerDesc
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_RASTERIZER . The rasterizer description, as a D3D12_RASTERIZER_DESC structure.
BlendDesc
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_BLEND. The blend description, as a D3D12_BLEND_DESC structure.
SampleMask
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_SAMPLE_MASK .
A value that describes a mask of pixel samples to trace. If this value specifies any of the masked samples, the trace is activated. The least significant bit (LSB) is sample 0. The non-multisample antialiasing (MSAA) counts as a sample count of 1; therefore, the LSB of SampleMask should be set. If set to zero, the pixel is not traced. However, pixel traces can still be enabled on an invocation basis.
This provides 32-bit sample coverage. The default value is 0xffffffff. A sample mask determines which samples get updated in all the active render targets. The mapping of bits in a sample mask to samples in a multisample render target is the responsibility of an individual application. A sample mask is always applied; it is independent of whether multisampling is enabled, and does not depend on whether an application uses multisample render targets.
PixelShaderOptions
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_PIXEL_SHADER_OPTIONS. Specifies pixel shader options as a D3D12XBOX_PIXEL_SHADER_OPTIONS_DESC structure.
DepthStencilOptions
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_DEPTH_STENCIL_OPTIONS. Specifies depth stencil options as a D3D12XBOX_DEPTH_STENCIL_OPTIONS_DESC structure.
ShaderLimitsDesc
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_SHADER_LIMITS. Specifies graphics shader limits as a D3D12XBOX_GRAPHICS_SHADER_LIMITS_DESC structure.
TessellationParameters
Used when Type is D3D12XBOX_DERIVED_GRAPHICS_STATE_TYPE_TESSELLATION_PARAMETERS. Specifies tessellation parameters as a D3D12XBOX_TESSELLATION_PARAMETERS_DESC structure.
This structure is passed into ID3D12Device::CreateDerivedGraphicsPipelineStateX.
Header: Declared in d3d12_x.h.