ID3D12GraphicsCommandList::DiscardResource method (d3d12.h)
Indicates that the contents of a resource don't need to be preserved. The function may re-initialize resource metadata in some cases.
Syntax
void DiscardResource(
ID3D12Resource *pResource,
const D3D12_DISCARD_REGION *pRegion
);
Parameters
pResource
Type: [in] ID3D12Resource*
A pointer to the ID3D12Resource interface for the resource to discard.
pRegion
Type: [in, optional] const D3D12_DISCARD_REGION*
A pointer to a D3D12_DISCARD_REGION structure that describes details for the discard-resource operation.
Return value
None
Remarks
The semantics of DiscardResource change based on the command list type.
For D3D12_COMMAND_LIST_TYPE_DIRECT, the following two rules apply:
- When a resource has the D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET flag, DiscardResource must be called when the discarded subresource regions are in the D3D12_RESOURCE_STATE_RENDER_TARGET resource barrier state.
- When a resource has the D3D12_RESOURCE_FLAG _ALLOW_DEPTH_STENCIL flag, DiscardResource must be called when the discarded subresource regions are in the D3D12_RESOURCE_STATE_DEPTH_WRITE.
- The resource must have the D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS flag, and DiscardResource must be called when the discarded subresource regions are in the D3D12_RESOURCE_STATE_UNORDERED_ACCESS resource barrier state.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d12.h |
Library | D3d12.lib |
DLL | D3d12.dll |
See also
Using Resource Barriers to Synchronize Resource States in Direct3D 12