sead
Loading...
Searching...
No Matches
aglResBinaryShaderProgram.h
Go to the documentation of this file.
1#pragma once
2
3#include <common/aglResShaderSymbol.h>
4#include <common/aglResShaderVariation.h>
5
6namespace agl {
7
16static_assert(sizeof(ResBinaryShaderProgramData) == 0x10, "agl::ResBinaryShaderProgramData size mismatch");
17
19{
20 AGL_RES_COMMON(ResBinaryShaderProgram)
21
22public:
23 const char* getName() const
24 {
25 return (const char*)(ptr() + 1);
26 }
27
29 {
30 const DataType* const data = ptr();
31 return (const ResShaderVariationArrayData*)((uintptr_t)(data + 1) + data->mNameLen);
32 }
33
35 {
36 const ResShaderVariationArrayData* const data = getResShaderVariationArray().ptr();
37 return (const ResShaderVariationArrayData*)((uintptr_t)data + data->mSize);
38 }
39
41};
42
44
46static_assert(sizeof(ResBinaryShaderProgramArrayData) == 8, "agl::ResBinaryShaderProgramArrayData size mismatch");
47
48}
#define AGL_RES_COMMON(class_name)
Definition aglResCommon.h:76
Definition aglResCommon.h:117
Definition aglResBinaryShaderProgram.h:19
ResShaderVariationArray getResShaderVariationArray() const
Definition aglResBinaryShaderProgram.h:28
ResShaderSymbolArray getResShaderSymbolArray(ShaderSymbolType type) const
Definition aglResShaderArchive.cpp:266
ResShaderVariationArray getResShaderVariationDefaultArray() const
Definition aglResBinaryShaderProgram.h:34
const char * getName() const
Definition aglResBinaryShaderProgram.h:23
Definition aglResShaderSymbol.h:57
Definition aglDisplayList.cpp:5
ResArray< ResShaderVariation > ResShaderVariationArray
Definition aglResShaderVariation.h:31
ShaderSymbolType
Definition aglShaderEnum.h:18
ResArray< ResBinaryShaderProgram > ResBinaryShaderProgramArray
Definition aglResBinaryShaderProgram.h:43
ResShaderVariationArray::DataType ResShaderVariationArrayData
Definition aglResShaderVariation.h:33
ResBinaryShaderProgramArray::DataType ResBinaryShaderProgramArrayData
Definition aglResBinaryShaderProgram.h:45
Definition aglResBinaryShaderProgram.h:9
u32 mSize
Definition aglResBinaryShaderProgram.h:10
u32 mNameLen
Definition aglResBinaryShaderProgram.h:11
u32 mBaseIndex
Definition aglResBinaryShaderProgram.h:13
u32 mKind
Definition aglResBinaryShaderProgram.h:12