3#include <RendererFoundation/RendererFoundationDLL.h>
10 using StorageType = plUInt8;
62 using StorageType = plUInt8;
63 static constexpr int ENUM_COUNT = 4;
67 ConstantBuffer = PL_BIT(1),
68 TextureSRV = PL_BIT(2),
69 BufferSRV = PL_BIT(3),
70 TextureUAV = PL_BIT(4),
71 BufferUAV = PL_BIT(5),
77 StorageType Sampler : 1;
78 StorageType ConstantBuffer : 1;
79 StorageType TextureSRV : 1;
80 StorageType BufferSRV : 1;
81 StorageType TextureUAV : 1;
82 StorageType BufferUAV : 1;
93 using StorageType = plUInt8;
102 Texture2DMSArray = 6,
105 TextureCubeArray = 9,
110 static bool IsArray(plGALShaderTextureType::Enum format);
117 using StorageType = plUInt8;
132 using StorageType = plUInt8;
173 using StorageType = plUInt16;
193 StorageType VertexBuffer : 1;
194 StorageType IndexBuffer : 1;
195 StorageType ConstantBuffer : 1;
196 StorageType TexelBuffer : 1;
197 StorageType StructuredBuffer : 1;
198 StorageType ByteAddressBuffer : 1;
199 StorageType ShaderResource : 1;
200 StorageType UnorderedAccess : 1;
201 StorageType DrawIndirect : 1;
209 using StorageType = plUInt8;
225 using StorageType = plUInt8;
236#include <RendererFoundation/Descriptors/Implementation/Enumerations_inl.h>
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
Definition Enumerations.h:192
Defines for what purpose a buffer can be used for.
Definition Enumerations.h:172
Enum
Definition Enumerations.h:176
@ DrawIndirect
Can be used in an indirect draw call.
Definition Enumerations.h:186
@ UnorderedAccess
Can be used for plGALShaderResourceType in the UAV section.
Definition Enumerations.h:185
@ ConstantBuffer
Can be used as a constant buffer. Can't be combined with any of the other *Buffer flags.
Definition Enumerations.h:179
@ TexelBuffer
Can be used as a texel buffer.
Definition Enumerations.h:180
@ IndexBuffer
Can be used as an index buffer.
Definition Enumerations.h:178
@ StructuredBuffer
plGALShaderResourceType::StructuredBuffer
Definition Enumerations.h:181
@ ByteAddressBuffer
plGALShaderResourceType::ByteAddressBuffer (RAW)
Definition Enumerations.h:182
@ VertexBuffer
Can be used as a vertex buffer.
Definition Enumerations.h:177
@ ShaderResource
Can be used for plGALShaderResourceType in the SRV section.
Definition Enumerations.h:184
Defines a swap chain's present mode.
Definition Enumerations.h:116
Type of GPU->CPU query.
Definition Enumerations.h:208
Enum
Definition Enumerations.h:212
@ AnySamplesPassed
Boolean version of NumSamplesPassed. Any number bigger than 0 equals true.
Definition Enumerations.h:216
@ NumSamplesPassed
Number of samples that passed the depth and stencil test between begin and end (on a context).
Definition Enumerations.h:214
Definition Enumerations.h:76
General category of the shader resource (plShaderResourceBinding). Note that these are flags because ...
Definition Enumerations.h:61
The type of a shader resource (plShaderResourceBinding). Shader resources need to be bound to a shade...
Definition Enumerations.h:9
Enum
Definition Enumerations.h:12
@ TextureRW
Read-write texture view. When set, plGALShaderTextureType is also set. HLSL: RWTexture*.
Definition Enumerations.h:39
@ StructuredBufferRW
Read-write array of structs. HLSL: RWStructuredBuffer<T>, RWByteAddressBuffer, AppendStructuredBuffer...
Definition Enumerations.h:43
@ ConstantBuffer
Read-only struct (plGALBufferHandle). HLSL: cbuffer, ConstantBuffer.
Definition Enumerations.h:18
@ StructuredBuffer
Read-only array of structs. HLSL: StructuredBuffer<T>, ByteAddressBuffer.
Definition Enumerations.h:32
@ Sampler
Texture sampler (plGALSamplerStateHandle). HLSL: SamplerState, SamplerComparisonState.
Definition Enumerations.h:15
@ Texture
Read-only texture view. When set, plGALShaderTextureType is also set. HLSL: Texture*.
Definition Enumerations.h:26
@ TextureAndSampler
Read-only texture view with attached sampler. When set, plGALShaderTextureType is also set....
Definition Enumerations.h:28
@ TexelBuffer
Read-only texel buffer. It's like a 1D texture. HLSL: Buffer.
Definition Enumerations.h:30
@ TexelBufferRW
Read-write texel buffer. It's like a 1D texture. HLSL: RWBuffer.
Definition Enumerations.h:41
The texture type of the shader resource (plShaderResourceBinding).
Definition Enumerations.h:92
Type of the shared texture (INTERNAL)
Definition Enumerations.h:224
Enum
Definition Enumerations.h:228
@ Exported
Allocation owned by this process.
Definition Enumerations.h:230
@ Imported
Allocation owned by a different process.
Definition Enumerations.h:231
@ None
Not shared.
Definition Enumerations.h:229
Defines the usage semantic of a vertex attribute.
Definition Enumerations.h:131