ezEngine  Release 25.03
ezGALShaderByteCode Class Reference

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>

Inheritance diagram for ezGALShaderByteCode:

Public Member Functions

const void * GetByteCode () const
 
ezUInt32 GetSize () const
 
bool IsValid () const
 
- Public Member Functions inherited from ezRefCounted
virtual ~ezRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from ezRefCountingImpl
 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< ezGALShaderStagem_Stage = ezGALShaderStage::ENUM_COUNT
 
bool m_bWasCompiledWithDebug = false
 

Detailed Description

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.


The documentation for this class was generated from the following files: