4#include <Foundation/Containers/DynamicArray.h>
5#include <Foundation/Types/RefCounted.h>
6#include <RendererFoundation/Descriptors/Enumerations.h>
7#include <RendererFoundation/RendererFoundationDLL.h>
13 PL_DECLARE_MEM_RELOCATABLE_TYPE();
17 using StorageType = plUInt8;
43 static plUInt32 s_TypeSize[Type::ENUM_COUNT];
45 void CopyDataFormVariant(plUInt8* pDest,
plVariant* pValue)
const;
49 plUInt8 m_uiArrayElements = 0;
50 plUInt16 m_uiOffset = 0;
58 plUInt32 m_uiTotalSize = 0;
67 PL_DECLARE_MEM_RELOCATABLE_TYPE();
71 plUInt8 m_uiLocation = 0;
78 PL_DECLARE_MEM_RELOCATABLE_TYPE();
84 plUInt32 m_uiArraySize = 1;
101 inline const void* GetByteCode()
const;
102 inline plUInt32 GetSize()
const;
103 inline bool IsValid()
const;
111 plUInt8 m_uiTessellationPatchControlPoints = 0;
115 bool m_bWasCompiledWithDebug =
false;
118#include <RendererFoundation/Shader/Implementation/ShaderByteCode_inl.h>
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Definition DynamicArray.h:81
This class wraps shader byte code storage. Since byte code can have different requirements for alignm...
Definition ShaderByteCode.h:96
This class is optimized to take nearly no memory (sizeof(void*)) and to allow very fast checks whethe...
Definition HashedString.h:25
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Base class for reference counted objects.
Definition RefCounted.h:52
Stores a pointer to a reference counted object and automatically increases / decreases the reference ...
Definition RefCounted.h:65
Reflection data of a shader constant buffer.
Definition ShaderByteCode.h:56
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
Definition ShaderByteCode.h:16
The reflection data of a constant in a shader constant buffer.
Definition ShaderByteCode.h:12
Shader reflection of a single shader resource (texture, constant buffer, etc.).
Definition ShaderByteCode.h:77