> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_COMPUTE_PIPELINE_STATE_DESC

> Describes a compute pipeline state object.

Describes a compute pipeline state object.

## Syntax

```cpp theme={null}
typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC
{
    ID3D12RootSignature  pRootSignature;
    D3D12_SHADER_BYTECODE CS;
    UINT NodeMask;
    D3D12_CACHED_PIPELINE_STATE CachedPSO;
    D3D12_PIPELINE_STATE_FLAGS Flags;
} D3D12_COMPUTE_PIPELINE_STATE_DESC
```

### Members

*pRootSignature*\
Type: ID3D12RootSignature \*

A pointer to the [ID3D12RootSignature](/reference/graphics/d3d12/interfaces/id3d12rootsignature/id3d12rootsignature_public) object.

*CS*\
Type: D3D12\_SHADER\_BYTECODE

A [D3D12\_SHADER\_BYTECODE](/reference/graphics/d3d12/structs/d3d12_shader_bytecode_public) structure that describes the compute shader.

*NodeMask*\
Type: UINT

For single GPU operation, set this to zero. If there are multiple GPU nodes, set bits to identify the nodes (the  device's physical adapters) for which the compute pipeline state is to apply.
Each bit in the mask corresponds to a single node.
Refer to [Multi-adapter systems](https://learn.microsoft.com/en-us/windows/win32/direct3d12/multi-engine).

*CachedPSO*\
Type: D3D12\_CACHED\_PIPELINE\_STATE

A cached pipeline state object, as a [D3D12\_CACHED\_PIPELINE\_STATE](/reference/graphics/d3d12/structs/d3d12_cached_pipeline_state_public) structure. pCachedBlob and CachedBlobSizeInBytes may be set to NULL and 0 respectively.

*Flags*\
Type: D3D12\_PIPELINE\_STATE\_FLAGS

A [D3D12\_PIPELINE\_STATE\_FLAGS](/reference/graphics/d3d12_xs/enums/d3d12_pipeline_state_flags_xs) enumeration constant such as for "tool debug".

## Remarks

This structure is used by [CreateComputePipelineState](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcomputepipelinestate_public).

## Requirements

**Header:** d3d12\_xs.h or d3d12\_x.h\
**Library:** d3d12\_xs.lib or d3d12\_x.lib\
**Supported Platforms**: XBOX Series consoles and XBOX One family

## See Also

[Core Structures](https://learn.microsoft.com/en-us/windows/win32/direct3d12/direct3d-12-structures)


## Related topics

- [CreateComputePipelineState](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createcomputepipelinestate_public.md)
- [LoadComputePipeline](/reference/graphics/d3d12/interfaces/id3d12pipelinelibrary/methods/id3d12pipelinelibrary_loadcomputepipeline_public.md)
- [LoadPipeline](/reference/graphics/d3d12/interfaces/id3d12pipelinelibrary1/methods/id3d12pipelinelibrary1_loadpipeline_public.md)
- [D3D12_SHADER_BYTECODE](/reference/graphics/d3d12/structs/d3d12_shader_bytecode_public.md)
- [D3D12_CACHED_PIPELINE_STATE](/reference/graphics/d3d12/structs/d3d12_cached_pipeline_state_public.md)
