Compute Commandlist

Select state

Set the rootsignature with ID3D12GraphicsCommandList::SetComputeRootSignature(). Set the PSO to use with the ID3D12GraphicsCommandList::SetPipelineState() function.

Bind shader data

The data in the root signature that are used by the shaders are set by root signature slot with these functions. One need to use the correct function depending on what data is in that rootparameter one is setting.

Root Constants: Use SetComputeRoot32BitConstant() to set a single value and SetComputeRoot32BitConstants() to set a group of them.

Root Descriptors: Depending on the type of descriptor SetComputeRootConstantBufferView(), SetComputeRootShaderResourceView() or SetComputeRootUnorderedAccessView() is used. Each one takes the GPU virtual address of the resource.

Descriptors tables: To set a table use SetComputeRootDescriptorTable() and send in the GPU descriptor handle of the first descriptor in the table.

ClearState

ClearUnorderedAccessViewFloat

ClearUnorderedAccessViewUint

DiscardResource

Dispatch

ExecuteIndirect

SetDescriptorHeaps

SetPredication