Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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