XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALResourceStateFlags Struct Reference

This describes the resource usage state. More...

#include <GraphicsTypes.h>

Classes

struct  Bits
 

Public Types

enum  Enum : StorageType {
  Unknown = 0U , Undefined = XII_BIT(0) , VertexBuffer = XII_BIT(1) , ConstantBuffer = XII_BIT(2) ,
  IndexBuffer = XII_BIT(3) , RenderTarget = XII_BIT(4) , UnorderedAccess = XII_BIT(5) , DepthWrite = XII_BIT(6) ,
  DepthRead = XII_BIT(7) , ShaderResource = XII_BIT(8) , StreamOut = XII_BIT(9) , IndirectArgument = XII_BIT(10) ,
  CopyDestination = XII_BIT(11) , CopySource = XII_BIT(12) , ResolveDestination = XII_BIT(13) , ResolveSource = XII_BIT(14) ,
  InputAttachment = XII_BIT(15) , Present = XII_BIT(16) , BuildASRead = XII_BIT(17) , BuildASWrite = XII_BIT(18) ,
  RayTracing = XII_BIT(19) , Common = XII_BIT(20) , ShadingRate = XII_BIT(21) , GenericRead = VertexBuffer | ConstantBuffer | IndexBuffer | ShaderResource | IndirectArgument | CopySource ,
  Default = Unknown
}
 
using StorageType = xiiUInt32
 

Detailed Description

This describes the resource usage state.

Member Enumeration Documentation

◆ Enum

enum xiiGALResourceStateFlags::Enum : StorageType
Enumerator
Unknown 

The resource state is not known directly.

Undefined 

The resource state is known to the engine, but is undefined. A resource is typically in an undefined state right after initialization.

VertexBuffer 

The resource is accessed as a vertex buffer.

ConstantBuffer 

The resource is accessed as a constant (uniform) buffer.

IndexBuffer 

The resource is accessed as an index buffer.

RenderTarget 

The resource is accessed as a render target.

UnorderedAccess 

The resource is used for unordered access.

DepthWrite 

The resource is used in a writable depth-stencil view or in clear operation.

DepthRead 

The resource is used in a read-only depth-stencil view.

ShaderResource 

The resource is accessed from a shader.

StreamOut 

The resource is used as the destination for stream output.

IndirectArgument 

The resource is used as an indirect draw/dispatch arguments buffer.

CopyDestination 

The resource is used as the destination in a copy operation.

CopySource 

The resource is used as the source in a copy operation.

ResolveDestination 

The resource is used as the destination in a resolve operation.

ResolveSource 

The resource is used as the source in a resolve operation.

InputAttachment 

The resource is used as an input attachment in a render pass sub pass.

Present 

The resource is used for present.

BuildASRead 

The resource is used as vertex/index/instance buffer in an amplification shader building operation or as an acceleration structure source in an amplification shader copy operation.

BuildASWrite 

The resource is used as the target for AS building or AS copy operations.

RayTracing 

The resource is used as a top-level AS shader resource in a trace rays operation.

Common 

The resource state is used for read operations, but access to the resource may be slower compared to the specialized state. A transition to the common state is always a pipeline stall and can often induce a cache flush and render target decompress operation.

ShadingRate 

The resource is used as the source when variable shading rate rendering.


The documentation for this struct was generated from the following file: