Plasma Engine  2.0
Loading...
Searching...
No Matches
Enumerations_inl.h
1
2inline plBitflags<plGALShaderResourceCategory> plGALShaderResourceCategory::MakeFromShaderDescriptorType(plGALShaderResourceType::Enum type)
3{
4 switch (type)
5 {
7 return plGALShaderResourceCategory::Sampler;
9 case plGALShaderResourceType::PushConstants:
10 return plGALShaderResourceCategory::ConstantBuffer;
12 return plGALShaderResourceCategory::TextureSRV;
15 return plGALShaderResourceCategory::BufferSRV;
17 return plGALShaderResourceCategory::TextureUAV;
20 return plGALShaderResourceCategory::BufferUAV;
22 return plGALShaderResourceCategory::TextureSRV | plGALShaderResourceCategory::Sampler;
23 default:
24 PL_REPORT_FAILURE("Missing enum");
25 return {};
26 }
27}
28
29inline bool plGALShaderTextureType::IsArray(plGALShaderTextureType::Enum format)
30{
31 switch (format)
32 {
33 case plGALShaderTextureType::Texture1DArray:
34 case plGALShaderTextureType::Texture2DArray:
35 case plGALShaderTextureType::Texture2DMSArray:
36 case plGALShaderTextureType::TextureCubeArray:
37 return true;
38 default:
39 return false;
40 }
41}
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
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