sead
Loading...
Searching...
No Matches
aglResShaderProgram.h
Go to the documentation of this file.
1#pragma once
2
3#include <common/aglResShaderMacro.h>
4#include <common/aglResShaderSymbol.h>
5#include <common/aglResShaderVariation.h>
6
7namespace agl {
8
16static_assert(sizeof(ResShaderProgramData) == 0x14, "agl::ResShaderProgramData size mismatch");
17
19{
20 AGL_RES_COMMON(ResShaderProgram)
21
22public:
23 const char* getName() const
24 {
25 return (const char*)(ptr() + 1);
26 }
27
29
31
33 {
34 return (const ResShaderVariationArrayData*)((uintptr_t)getResShaderVariationArray().ptr() + getResShaderVariationArray().ref().mSize);
35 }
36
38};
39
41
43static_assert(sizeof(ResShaderProgramArrayData) == 8, "agl::ResShaderProgramArrayData size mismatch");
44
45}
#define AGL_RES_COMMON(class_name)
Definition aglResCommon.h:76
Definition aglResCommon.h:117
Definition aglResShaderProgram.h:19
ResShaderVariationArray getResShaderVariationDefaultArray() const
Definition aglResShaderProgram.h:32
ResShaderSymbolArray getResShaderSymbolArray(ShaderSymbolType type) const
Definition aglResShaderArchive.cpp:252
ResShaderVariationArray getResShaderVariationArray() const
Definition aglResShaderArchive.cpp:238
ResShaderMacroArray getResShaderMacroArray(ShaderType type) const
Definition aglResShaderArchive.cpp:224
const char * getName() const
Definition aglResShaderProgram.h:23
Definition aglResShaderSymbol.h:57
Definition aglDisplayList.cpp:5
ShaderType
Definition aglShaderEnum.h:10
@ cShaderType_Num
Definition aglShaderEnum.h:14
ResArray< ResShaderProgram > ResShaderProgramArray
Definition aglResShaderProgram.h:40
ResArray< ResShaderVariation > ResShaderVariationArray
Definition aglResShaderVariation.h:31
ResShaderProgramArray::DataType ResShaderProgramArrayData
Definition aglResShaderProgram.h:42
ShaderSymbolType
Definition aglShaderEnum.h:18
ResArray< ResShaderMacro > ResShaderMacroArray
Definition aglResShaderMacro.h:32
Definition aglResShaderProgram.h:10
s32 mSourceIndex[cShaderType_Num]
Definition aglResShaderProgram.h:13
u32 mNameLen
Definition aglResShaderProgram.h:12
u32 mSize
Definition aglResShaderProgram.h:11