D3D12_RESOURCE_STATES Enumeration

Specifies the state of a resource regarding how the resource is being used.

Syntax

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;  

Constants

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.

Remarks

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:

Requirements

Header: Declared in d3d12_x.h.