3#include <common/aglShaderProgramArchive.h>
4#include <container/seadPtrArray.h>
5#include <container/seadSafeArray.h>
6#include <heap/seadDisposer.h>
7#include <basis/seadAssert.h>
145 return *mProgram[shader];
150 return mProgramArchive[archive];
158static_assert(
sizeof(
ShaderHolder) == 0x280,
"agl::detail::ShaderHolder size mismatch");
Definition aglShaderProgramArchive.h:17
Definition aglShaderProgram.h:16
Definition aglShaderHolder.h:18
bool mCreateDisplayLists
Definition aglShaderHolder.h:156
virtual ~ShaderHolder()
Definition aglShaderHolder.cpp:18
sead::UnsafeArray< ShaderProgramArchive, cArchiveType_Num > mProgramArchive
Definition aglShaderHolder.h:155
sead::FixedPtrArray< ShaderProgram, cShader_Num > mProgram
Definition aglShaderHolder.h:154
void setCreateDisplayLists(bool create)
Definition aglShaderHolder.h:135
ShaderProgram & getShader(ShaderType shader)
Definition aglShaderHolder.h:142
void initialize(sead::ArchiveRes *p_arc, sead::Heap *heap)
Definition aglShaderHolder.cpp:22
ShaderHolder()
Definition aglShaderHolder.cpp:13
ArchiveType
Definition aglShaderHolder.h:123
@ cArchiveType_SimpleModel
Definition aglShaderHolder.h:126
@ cArchiveType_Technique
Definition aglShaderHolder.h:125
@ cArchiveType_Num
Definition aglShaderHolder.h:127
@ cArchiveType_Common
Definition aglShaderHolder.h:124
ShaderType
Definition aglShaderHolder.h:23
@ cShader_ImageFilterCubic
Definition aglShaderHolder.h:35
@ cShader_OcclusionQuery
Definition aglShaderHolder.h:105
@ cShader_CubeMapConvoluteOther
Definition aglShaderHolder.h:93
@ cShader_OcclusionRenderer
Definition aglShaderHolder.h:107
@ cShader_Num
Definition aglShaderHolder.h:118
@ cShader_TextureTexCoord
Definition aglShaderHolder.h:48
@ cShader_FXAAReprojection
Definition aglShaderHolder.h:73
@ cShader_CubeMapHDRCompose
Definition aglShaderHolder.h:94
@ cShader_DOFVignetting
Definition aglShaderHolder.h:69
@ cShader_LightPrePassDoubleSamePosWithBack
Definition aglShaderHolder.h:81
@ cShader_Alpha
Definition aglShaderHolder.h:41
@ cShader_FXAAColorOnly
Definition aglShaderHolder.h:71
@ cShader_CubeMapHeadExtract
Definition aglShaderHolder.h:91
@ cShader_TextureCubeMap
Definition aglShaderHolder.h:46
@ cShader_BloomGaussian
Definition aglShaderHolder.h:62
@ cShader_DrawImm
Definition aglShaderHolder.h:57
@ cShader_LightPrePassQuad
Definition aglShaderHolder.h:84
@ cShader_LightmapClear
Definition aglShaderHolder.h:77
@ cShader_Texture
Definition aglShaderHolder.h:26
@ cShader_MultiFilterReduce
Definition aglShaderHolder.h:86
@ cShader_Blue
Definition aglShaderHolder.h:40
@ cShader_DepthShadowDebug
Definition aglShaderHolder.h:99
@ cShader_BloomCompose
Definition aglShaderHolder.h:63
@ cShader_CubeMapConvoluteFirst
Definition aglShaderHolder.h:92
@ cShader_FrameBufferFlipY
Definition aglShaderHolder.h:59
@ cShader_OcclusionRendererClearBuf
Definition aglShaderHolder.h:106
@ cShader_MultiFilterExpand
Definition aglShaderHolder.h:87
@ cShader_Reduce8
Definition aglShaderHolder.h:29
@ cShader_DevUtil
Definition aglShaderHolder.h:24
@ cShader_DOFNearMask
Definition aglShaderHolder.h:65
@ cShader_DOFFinal
Definition aglShaderHolder.h:68
@ cShader_Green
Definition aglShaderHolder.h:39
@ cShader_FilterAAReprojection
Definition aglShaderHolder.h:74
@ cShader_FrameBufferNoFlip
Definition aglShaderHolder.h:60
@ cShader_TextureMultiSample4x
Definition aglShaderHolder.h:51
@ cShader_LightPrePassSpotLight
Definition aglShaderHolder.h:79
@ cShader_DepthVisualize
Definition aglShaderHolder.h:25
@ cShader_LightPrePassTBRSp
Definition aglShaderHolder.h:83
@ cShader_DebugTriangleInstanced
Definition aglShaderHolder.h:117
@ cShader_DepthLinear
Definition aglShaderHolder.h:43
@ cShader_LightPrePassProjLight
Definition aglShaderHolder.h:80
@ cShader_SSAOReduce
Definition aglShaderHolder.h:103
@ cShader_LightPrePassPointLight
Definition aglShaderHolder.h:78
@ cShader_SSAOBuffer
Definition aglShaderHolder.h:101
@ cShader_TextureMultiSample2x
Definition aglShaderHolder.h:50
@ cShader_RadialBlur
Definition aglShaderHolder.h:111
@ cShader_ImageFilterGaussian
Definition aglShaderHolder.h:34
@ cShader_ColorCorrection
Definition aglShaderHolder.h:31
@ cShader_TextureCompress
Definition aglShaderHolder.h:109
@ cShader_ReduceAA
Definition aglShaderHolder.h:75
@ cShader_LightPrePassTBR
Definition aglShaderHolder.h:82
@ cShader_Reduce4
Definition aglShaderHolder.h:28
@ cShader_DrawFan
Definition aglShaderHolder.h:58
@ cShader_StaticDepthShadow
Definition aglShaderHolder.h:88
@ cShader_NV12Decode
Definition aglShaderHolder.h:96
@ cShader_Texture3D
Definition aglShaderHolder.h:45
@ cShader_DebugPointInstanced
Definition aglShaderHolder.h:115
@ cShader_DOFMipmap
Definition aglShaderHolder.h:66
@ cShader_CubeMapColorCorrection
Definition aglShaderHolder.h:90
@ cShader_ScreenPick
Definition aglShaderHolder.h:97
@ cShader_TopBottomColor
Definition aglShaderHolder.h:56
@ cShader_RadialBlurCompose
Definition aglShaderHolder.h:112
@ cShader_Reduce2
Definition aglShaderHolder.h:27
@ cShader_DebugLineInstanced
Definition aglShaderHolder.h:116
@ cShader_VSM
Definition aglShaderHolder.h:100
@ cShader_AlphaModify
Definition aglShaderHolder.h:53
@ cShader_Red
Definition aglShaderHolder.h:38
@ cShader_DebugShapeInstanced
Definition aglShaderHolder.h:114
@ cShader_SSAOBlur
Definition aglShaderHolder.h:102
@ cShader_ColorQuad
Definition aglShaderHolder.h:55
@ cShader_TextureMultColor
Definition aglShaderHolder.h:37
@ cShader_ImageFilterBlur
Definition aglShaderHolder.h:36
@ cShader_FXAALuma
Definition aglShaderHolder.h:72
@ cShader_TextureCubeMapArray
Definition aglShaderHolder.h:47
@ cShader_Lightmap
Definition aglShaderHolder.h:76
@ cShader_TextureColorDrift
Definition aglShaderHolder.h:54
@ cShader_DepthRaw
Definition aglShaderHolder.h:42
@ cShader_BloomMask
Definition aglShaderHolder.h:61
@ cShader_SSAOMask
Definition aglShaderHolder.h:104
@ cShader_DebugCubeMap
Definition aglShaderHolder.h:98
@ cShader_XluSnap
Definition aglShaderHolder.h:33
@ cShader_Reduce16
Definition aglShaderHolder.h:30
@ cShader_CubeMapDrawIlluminant
Definition aglShaderHolder.h:95
@ cShader_Texture2DArray
Definition aglShaderHolder.h:44
@ cShader_OccludedEffectLensFlare
Definition aglShaderHolder.h:108
@ cShader_ShadowMask
Definition aglShaderHolder.h:110
@ cShader_FXAA
Definition aglShaderHolder.h:70
@ cShader_DebugPrimitive
Definition aglShaderHolder.h:113
@ cShader_TextureMultiSample8x
Definition aglShaderHolder.h:52
@ cShader_ColorCorrectionMap
Definition aglShaderHolder.h:32
@ cShader_HDRCompose
Definition aglShaderHolder.h:64
@ cShader_TextureMultiSample1x
Definition aglShaderHolder.h:49
@ cShader_LightPrePassDev
Definition aglShaderHolder.h:85
@ cShader_CubeMapGaussian
Definition aglShaderHolder.h:89
@ cShader_DOFDepthMask
Definition aglShaderHolder.h:67
ShaderProgramArchive & getArchive(ArchiveType archive)
Definition aglShaderHolder.h:148
Definition seadArchiveRes.h:13
Definition seadPtrArray.h:291
Definition seadSafeArray.h:257
Definition seadHostIODummy.h:25
Definition aglPrivateResource.h:9
Definition aglDisplayList.cpp:5
Definition seadAssert.h:44
#define SEAD_ASSERT(condition)
Definition seadAssert.h:24
#define SEAD_SINGLETON_DISPOSER(CLASS)
Definition seadDisposer.h:29