ID3D12StateObjectProperties::SetPipelineStackSize 方法 (d3d12.h)

设置当前管道堆栈大小。

语法

void SetPipelineStackSize(
  UINT64 PipelineStackSizeInBytes
);

参数

PipelineStackSizeInBytes

每个着色器线程的管道执行期间要使用的堆栈大小(以字节为单位)。 GPU 上一次可能有数千个线程在运行中。

如果值大于 0xffffffff (则 32 位 UINT 的最大值) 运行时将放弃调用,调试层将打印错误,因为这可能是使用无效参数调用的 GetShaderStackSize 返回的无效堆栈大小求和的结果,这些堆栈大小返回0xffffffff。 在这种情况下,之前设置的堆栈大小(默认值)将保留。

返回值

备注

此方法和 GetPipelineStackSize 不会重新进入。 这意味着,如果从单独的线程调用任一或两者,应用必须自行同步。

运行时会删除对光线跟踪管道以外的状态对象的调用,例如集合。

要求

   
目标平台 Windows
标头 d3d12.h
Library D3D12.lib
DLL D3D12.dll

另请参阅

ID3D12StateObjectProperties