ID3D12StateObjectProperties::SetPipelineStackSize method (d3d12.h)

Set the current pipeline stack size.

Syntax

void SetPipelineStackSize(
  UINT64 PipelineStackSizeInBytes
);

Parameters

PipelineStackSizeInBytes

Stack size in bytes to use during pipeline execution for each shader thread. There can be many thousands of threads in flight at once on the GPU.

If the value is greater than 0xffffffff (the maximum value of a 32-bit UINT) the runtime will drop the call, and the debug layer will print an error, as this is likely the result of summing up invalid stack sizes returned from GetShaderStackSize called with invalid parameters, which return 0xffffffff. In this case, the previously set stack size, or the default, remains.

Return value

None

Remarks

This method and GetPipelineStackSize are not re-entrant. This means if calling either or both from separate threads, the app must synchronize on its own.

The runtime drops calls to state objects other than raytracing pipelines, such as collections.

Requirements

Requirement Value
Target Platform Windows
Header d3d12.h
Library D3D12.lib
DLL D3D12.dll

See also

ID3D12StateObjectProperties