![]() |
ezEngine
Release 25.03
|
This class wraps shader byte code storage. Since byte code can have different requirements for alignment, padding etc. this class manages it. Also since byte code is shared between multiple shaders (e.g. same vertex shaders for different pixel shaders) the instances of the byte codes are reference counted. More...
#include <ShaderByteCode.h>
Public Member Functions | |
const void * | GetByteCode () const |
ezUInt32 | GetSize () const |
bool | IsValid () const |
![]() | |
virtual | ~ezRefCounted ()=default |
Adds a virtual destructor. | |
![]() | |
ezRefCountingImpl ()=default | |
Constructor. | |
ezRefCountingImpl (const ezRefCountingImpl &rhs) | |
void | operator= (const ezRefCountingImpl &rhs) |
ezInt32 | AddRef () const |
Increments the reference counter. Returns the new reference count. | |
ezInt32 | ReleaseRef () const |
Decrements the reference counter. Returns the new reference count. | |
bool | IsReferenced () const |
Returns true if the reference count is greater than 0, false otherwise. | |
ezInt32 | GetRefCount () const |
Returns the current reference count. | |
Public Attributes | |
ezDynamicArray< ezUInt8 > | m_ByteCode |
ezHybridArray< ezShaderResourceBinding, 8 > | m_ShaderResourceBindings |
ezHybridArray< ezShaderVertexInputAttribute, 8 > | m_ShaderVertexInput |
ezUInt8 | m_uiTessellationPatchControlPoints = 0 |
ezEnum< ezGALShaderStage > | m_Stage = ezGALShaderStage::ENUM_COUNT |
bool | m_bWasCompiledWithDebug = false |
This class wraps shader byte code storage. Since byte code can have different requirements for alignment, padding etc. this class manages it. Also since byte code is shared between multiple shaders (e.g. same vertex shaders for different pixel shaders) the instances of the byte codes are reference counted.