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

#include <blocklayoutHLSL.h>

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

Public Types

enum  HLSLBlockEncoderStrategy { ENCODE_PACKED, ENCODE_LOOSE }
 

Public Member Functions

 HLSLBlockEncoder (HLSLBlockEncoderStrategy strategy)
 
virtual void enterAggregateType ()
 
virtual void exitAggregateType ()
 
void skipRegisters (unsigned int numRegisters)
 
bool isPacked () const
 
void setTransposeMatrices (bool enabled)
 
- Public Member Functions inherited from sh::BlockLayoutEncoder
 BlockLayoutEncoder ()
 
virtual ~BlockLayoutEncoder ()
 
BlockMemberInfo encodeType (GLenum type, unsigned int arraySize, bool isRowMajorMatrix)
 
size_t getBlockSize () const
 

Static Public Member Functions

static HLSLBlockEncoderStrategy GetStrategyFor (ShShaderOutput outputType)
 
- Static Public Member Functions inherited from sh::BlockLayoutEncoder
static size_t getBlockRegister (const BlockMemberInfo &info)
 
static size_t getBlockRegisterElement (const BlockMemberInfo &info)
 

Protected Member Functions

virtual void getBlockLayoutInfo (GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut)
 
virtual void advanceOffset (GLenum type, unsigned int arraySize, bool isRowMajorMatrix, int arrayStride, int matrixStride)
 
- Protected Member Functions inherited from sh::BlockLayoutEncoder
void nextRegister ()
 

Protected Attributes

HLSLBlockEncoderStrategy mEncoderStrategy
 
bool mTransposeMatrices
 
- Protected Attributes inherited from sh::BlockLayoutEncoder
size_t mCurrentOffset
 

Additional Inherited Members

- Static Public Attributes inherited from sh::BlockLayoutEncoder
static const size_t BytesPerComponent = 4u
 
static const unsigned int ComponentsPerRegister = 4u
 

Member Enumeration Documentation

◆ HLSLBlockEncoderStrategy

Enumerator
ENCODE_PACKED 
ENCODE_LOOSE 

Constructor & Destructor Documentation

◆ HLSLBlockEncoder()

sh::HLSLBlockEncoder::HLSLBlockEncoder ( HLSLBlockEncoderStrategy  strategy)

Member Function Documentation

◆ advanceOffset()

void sh::HLSLBlockEncoder::advanceOffset ( GLenum  type,
unsigned int  arraySize,
bool  isRowMajorMatrix,
int  arrayStride,
int  matrixStride 
)
protectedvirtual

◆ enterAggregateType()

void sh::HLSLBlockEncoder::enterAggregateType ( )
virtual

◆ exitAggregateType()

void sh::HLSLBlockEncoder::exitAggregateType ( )
virtual

◆ getBlockLayoutInfo()

void sh::HLSLBlockEncoder::getBlockLayoutInfo ( GLenum  type,
unsigned int  arraySize,
bool  isRowMajorMatrix,
int *  arrayStrideOut,
int *  matrixStrideOut 
)
protectedvirtual

◆ GetStrategyFor()

HLSLBlockEncoder::HLSLBlockEncoderStrategy sh::HLSLBlockEncoder::GetStrategyFor ( ShShaderOutput  outputType)
static

◆ isPacked()

bool sh::HLSLBlockEncoder::isPacked ( ) const
inline

◆ setTransposeMatrices()

void sh::HLSLBlockEncoder::setTransposeMatrices ( bool  enabled)
inline

◆ skipRegisters()

void sh::HLSLBlockEncoder::skipRegisters ( unsigned int  numRegisters)

Member Data Documentation

◆ mEncoderStrategy

HLSLBlockEncoderStrategy sh::HLSLBlockEncoder::mEncoderStrategy
protected

◆ mTransposeMatrices

bool sh::HLSLBlockEncoder::mTransposeMatrices
protected

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