10 #ifndef COMMON_BLOCKLAYOUT_H_ 11 #define COMMON_BLOCKLAYOUT_H_ 21 struct ShaderVariable;
22 struct InterfaceBlockField;
25 struct InterfaceBlock;
33 arrayStride(arrayStride),
34 matrixStride(matrixStride),
35 isRowMajorMatrix(isRowMajorMatrix)
57 size_t getBlockSize()
const {
return mCurrentOffset * BytesPerComponent; }
59 virtual void enterAggregateType() = 0;
60 virtual void exitAggregateType() = 0;
62 static const size_t BytesPerComponent = 4
u;
63 static const unsigned int ComponentsPerRegister = 4
u;
73 virtual void getBlockLayoutInfo(
GLenum type,
unsigned int arraySize,
bool isRowMajorMatrix,
int *arrayStrideOut,
int *matrixStrideOut) = 0;
74 virtual void advanceOffset(
GLenum type,
unsigned int arraySize,
bool isRowMajorMatrix,
int arrayStride,
int matrixStride) = 0;
85 void enterAggregateType()
override;
86 void exitAggregateType()
override;
90 unsigned int arraySize,
91 bool isRowMajorMatrix,
93 int *matrixStrideOut)
override;
94 void advanceOffset(
GLenum type,
95 unsigned int arraySize,
96 bool isRowMajorMatrix,
98 int matrixStride)
override;
103 #endif // COMMON_BLOCKLAYOUT_H_ #define COMPILER_EXPORT
Definition: ShaderLang.h:23
static BlockMemberInfo getDefaultBlockInfo()
Definition: blocklayout.h:38
OPENSSL_EXPORT pem_password_cb void * u
Definition: pem.h:398
virtual ~BlockLayoutEncoder()
Definition: blocklayout.h:53
size_t mCurrentOffset
Definition: blocklayout.h:69
def info(msg, args, kwargs)
Definition: __init__.py:1165
int matrixStride
Definition: blocklayout.h:45
bool isRowMajorMatrix
Definition: blocklayout.h:46
EGLStreamKHR EGLint EGLint offset
Definition: eglext.h:984
size_t getBlockSize() const
Definition: blocklayout.h:57
BlockMemberInfo()
Definition: blocklayout.h:29
Definition: ShaderLang.h:40
int offset
Definition: blocklayout.h:43
Definition: blocklayout.h:49
Definition: blocklayout.h:27
BlockMemberInfo(int offset, int arrayStride, int matrixStride, bool isRowMajorMatrix)
Definition: blocklayout.h:31
int arrayStride
Definition: blocklayout.h:44
EGLenum type
Definition: eglext.h:63
unsigned int GLenum
Definition: ShaderLang.h:43
#define false
Definition: float-mm.c:5
Definition: blocklayout.h:80