webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
sh::BlockLayoutEncoder Class Referenceabstract

#include <blocklayout.h>

Inheritance diagram for sh::BlockLayoutEncoder:
sh::HLSLBlockEncoder sh::Std140BlockEncoder

Public Member Functions

 BlockLayoutEncoder ()
 
virtual ~BlockLayoutEncoder ()
 
BlockMemberInfo encodeType (GLenum type, unsigned int arraySize, bool isRowMajorMatrix)
 
size_t getBlockSize () const
 
virtual void enterAggregateType ()=0
 
virtual void exitAggregateType ()=0
 

Static Public Member Functions

static size_t getBlockRegister (const BlockMemberInfo &info)
 
static size_t getBlockRegisterElement (const BlockMemberInfo &info)
 

Static Public Attributes

static const size_t BytesPerComponent = 4u
 
static const unsigned int ComponentsPerRegister = 4u
 

Protected Member Functions

void nextRegister ()
 
virtual void getBlockLayoutInfo (GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut)=0
 
virtual void advanceOffset (GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int arrayStride, int matrixStride)=0
 

Protected Attributes

size_t mCurrentOffset
 

Constructor & Destructor Documentation

◆ BlockLayoutEncoder()

sh::BlockLayoutEncoder::BlockLayoutEncoder ( )

◆ ~BlockLayoutEncoder()

virtual sh::BlockLayoutEncoder::~BlockLayoutEncoder ( )
inlinevirtual

Member Function Documentation

◆ advanceOffset()

virtual void sh::BlockLayoutEncoder::advanceOffset ( GLenum  type,
unsigned int  arraySize,
bool  isRowMajorMatrix,
int  arrayStride,
int  matrixStride 
)
protectedpure virtual

◆ encodeType()

BlockMemberInfo sh::BlockLayoutEncoder::encodeType ( GLenum  type,
unsigned int  arraySize,
bool  isRowMajorMatrix 
)

◆ enterAggregateType()

virtual void sh::BlockLayoutEncoder::enterAggregateType ( )
pure virtual

◆ exitAggregateType()

virtual void sh::BlockLayoutEncoder::exitAggregateType ( )
pure virtual

◆ getBlockLayoutInfo()

virtual void sh::BlockLayoutEncoder::getBlockLayoutInfo ( GLenum  type,
unsigned int  arraySize,
bool  isRowMajorMatrix,
int *  arrayStrideOut,
int *  matrixStrideOut 
)
protectedpure virtual

◆ getBlockRegister()

size_t sh::BlockLayoutEncoder::getBlockRegister ( const BlockMemberInfo info)
static

◆ getBlockRegisterElement()

size_t sh::BlockLayoutEncoder::getBlockRegisterElement ( const BlockMemberInfo info)
static

◆ getBlockSize()

size_t sh::BlockLayoutEncoder::getBlockSize ( ) const
inline

◆ nextRegister()

void sh::BlockLayoutEncoder::nextRegister ( )
protected

Member Data Documentation

◆ BytesPerComponent

const size_t sh::BlockLayoutEncoder::BytesPerComponent = 4u
static

◆ ComponentsPerRegister

const unsigned int sh::BlockLayoutEncoder::ComponentsPerRegister = 4u
static

◆ mCurrentOffset

size_t sh::BlockLayoutEncoder::mCurrentOffset
protected

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