Specifies the state of a resource regarding how the resource is being used.
typedef enum D3D12_RESOURCE_STATES
{
//
// Xbox extensions:
D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_COLOR = 0x00400000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_DEPTH = 0x00400000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_STENCIL = 0x00800000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_DEPTH_STENCIL = D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_DEPTH|D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_STENCIL,
D3D12XBOX_RESOURCE_STATE_PRESERVE_INDIRECT_COLOR_CLEAR = 0x01000000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_SCATTERED_COLOR_FMASK = 0x02000000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_COLOR = 0x04000000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_DEPTH = 0x04000000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_STENCIL = 0x08000000,
D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_DEPTH_STENCIL = D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_DEPTH|D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_STENCIL
} D3D12_RESOURCE_STATES;
| Constant | Description |
|---|---|
| D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_COLOR | Preserves compressed color data. Use, for example, when a texture is DCC-compressed and also “texture compatible” to skip the DCC decompression. Also use when an MSAA texture is fmask-compressed and you want to resolve manually. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_DEPTH | Preserves compressed depth data. Use, for example, when a texture is depth-compressed and also “texture compatible” to skip the depth decompression. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_STENCIL | Preserves compressed stencil data. Use, for example, to skip the decompression of stencil data when only the decompression of depth data is required (the driver may at some point do this automatically). |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_COMPRESSED_DEPTH_STENCIL | Preserves compressed depth stencil data. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_INDIRECT_COLOR_CLEAR | Preserves indirect color clear data. Use, for example, when a texture is cmask “fast cleared” and you want to skip the “fast clear eliminate” and instead check cmask manually. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_SCATTERED_COLOR_FMASK | Preserves scattered color fmask data. Use, for example, when an MSAA texture uses a compressed fmask, and the fmask was created as “texture compatible” to skip the fmask decompression. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_COLOR | Preserves expanded color data. When transitioning to a render target, do not re-enable compression. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_DEPTH | Preserves expanded depth data. When transitioning to a depth buffer, do not re-enable compression. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_STENCIL | Preserves expanded stencil data. When transitioning to a stencil buffer, do not re-enable compression. |
| D3D12XBOX_RESOURCE_STATE_PRESERVE_EXPANDED_DEPTH_STENCIL | Preserves expanded depth and stencil data. |
This enumeration has the same enumeration constants as D3D12_RESOURCE_STATES for PC, and also has the above D3D12XBOX_ Xbox extension enumeration constants.
This enumeration is used by the following API items:
Header: Declared in d3d12_x.h.