ID3D12GraphicsCommandList::D iscardResource 方法 (d3d12.h)
指示无需保留资源的内容。 在某些情况下,函数可能会重新初始化资源元数据。
语法
void DiscardResource(
ID3D12Resource *pResource,
const D3D12_DISCARD_REGION *pRegion
);
参数
pResource
类型:[in] ID3D12Resource*
指向要丢弃的资源的 ID3D12Resource 接口的指针。
pRegion
类型:[in,可选] const D3D12_DISCARD_REGION*
指向描述放弃资源操作详细信息 的D3D12_DISCARD_REGION 结构的指针。
返回值
无
备注
DiscardResource 的语义根据命令列表类型更改。
对于 D3D12_COMMAND_LIST_TYPE_DIRECT,以下两个规则适用:
- 当资源具有D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET标志时,当放弃的子资源区域处于D3D12_RESOURCE_STATE_RENDER_TARGET资源屏障状态时,必须调用 DiscardResource。
- 当资源具有D3D12_RESOURCE_FLAG _ALLOW_DEPTH_STENCIL标志时,当放弃的子资源区域位于D3D12_RESOURCE_STATE_DEPTH_WRITE时,必须调用 DiscardResource。
- 资源必须具有D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS标志,当放弃的子资源区域处于D3D12_RESOURCE_STATE_UNORDERED_ACCESS资源屏障状态时,必须调用 DiscardResource。
要求
目标平台 | Windows |
标头 | d3d12.h |
Library | D3d12.lib |
DLL | D3d12.dll |