namespace Sandbox.Rendering; /// /// Used to describe a GPU resources state for barrier transitions. /// /// /// There are intended to be a high level generic of resource states that can be translated /// to any lower level graphics APIs. (VK/D3D12/Metal) /// [Flags] public enum ResourceState { Common = 0x0, Present = 0x0, VertexOrIndexBuffer = 0x1, // Unused = 0x2, RenderTarget = 0x4, UnorderedAccess = 0x8, DepthWrite = 0x10, DepthRead = 0x20, NonPixelShaderResource = 0x40, PixelShaderResource = 0x80, StreamOut = 0x100, IndirectArgument = 0x200, Predication = 0x200, CopyDestination = 0x400, CopySource = 0x800, ResolveDestination = 0x1000, ResolveSource = 0x2000, GenericRead = VertexOrIndexBuffer | NonPixelShaderResource | PixelShaderResource | IndirectArgument | CopySource, AllShaderResource = NonPixelShaderResource | PixelShaderResource, [Obsolete( "Use VertexOrIndexBuffer - or for constant buffer use NonPixelShaderResource" )] VertexAndConstantBuffer = 0x1, [Obsolete( "Use VertexOrIndexBuffer" )] IndexBuffer = 0x1, }