Flags to control the placement of data produced by the geometry shader and tessellation, including whether geometry shader data is stored offchip or onchip, and whether tessellation data is stored offchip or onchip.
typedef enum D3D12_PIPELINE_STATE_FLAGS
{
D3D12_PIPELINE_STATE_FLAG_NONE = 0x0,
D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x80000000,
D3D12XBOX_PIPELINE_STATE_FLAG_GS_OFFCHIP_TS_ONCHIP = 0x00000000,
D3D12XBOX_PIPELINE_STATE_FLAG_GS_ONCHIP_TS_OFFCHIP = 0x00001000,
D3D12XBOX_PIPELINE_STATE_FLAG_GS_OFFCHIP_TS_OFFCHIP = 0x00002000,
D3D12XBOX_PIPELINE_STATE_FLAG_FORCE_UNIFORM_SV_INSTANCE_ID_IN_VS_AND_PS = 0x00004000,
D3D12XBOX_PIPELINE_STATE_FLAG_DISABLE_DRAW_BALANCING = 0x00008000
} D3D12_PIPELINE_STATE_FLAGS;
| Constant | Description |
|---|---|
| D3D12_PIPELINE_STATE_FLAG_NONE | The default. Geometry shader data is stored off-chip. Tessellation data is stored on-chip. |
| D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG | Not used on Xbox One. |
| D3D12XBOX_PIPELINE_STATE_FLAG_GS_OFFCHIP_TS_ONCHIP | Geometry shader data is stored off-chip. Tessellation data is stored on-chip. |
| D3D12XBOX_PIPELINE_STATE_FLAG_GS_ONCHIP_TS_OFFCHIP | Geometry shader data is stored on-chip. Tessellation data is stored off-chip. |
| D3D12XBOX_PIPELINE_STATE_FLAG_GS_OFFCHIP_TS_OFFCHIP | Geometry shader data is stored off-chip. Tessellation data is stored off-chip. |
| D3D12XBOX_PIPELINE_STATE_FLAG_FORCE_UNIFORM_SV_INSTANCE_ID_IN_VS_AND_PS | Waves are split at instance boundaries, causing SV_InstanceID to be uniform; SV_InstanceID is still read from a vector register. |
| D3D12XBOX_PIPELINE_STATE_FLAG_DISABLE_DRAW_BALANCING | Draw balancing is disabled for this PSO. |
This enumeration is used in the Flags member of the D3D12_GRAPHICS_PIPELINE_STATE_DESC structure.
Note (Feb. 27, 2015) This enumeration will be added to D3D12 on PC, containing only non-Xbox-specific members.
See also the discussion of “onchip” and “offchip” in Tessellation.
Header: Declared in d3d12_x.h.