@@ -77,6 +77,7 @@ GLShader_screen *gl_screenShader = nullptr;
7777GLShader_screenMaterial *gl_screenShaderMaterial = nullptr ;
7878GLShader_skybox *gl_skyboxShader = nullptr ;
7979GLShader_skyboxMaterial *gl_skyboxShaderMaterial = nullptr ;
80+ GlobalUBOProxy *globalUBOProxy = nullptr ;
8081GLShaderManager gl_shaderManager;
8182
8283namespace // Implementation details
@@ -2981,3 +2982,39 @@ GLShader_processSurfaces::GLShader_processSurfaces() :
29812982 u_ViewID( this ),
29822983 u_SurfaceCommandsOffset( this ) {
29832984}
2985+
2986+ GlobalUBOProxy::GlobalUBOProxy () :
2987+ /* HACK: A GLShader* is required to initialise uniforms,
2988+ but we don't need the GLSL shader itself, so we won't actually build it */
2989+ GLShader( " proxy" , 0 ,
2990+ false , " screenSpace" , " generic" , true ),
2991+ // CONST
2992+ u_ColorMap3D( this ),
2993+ u_DepthMap( this ),
2994+ u_PortalMap( this ),
2995+ u_FogMap( this ),
2996+ u_DepthTile1( this ),
2997+ u_DepthTile2( this ),
2998+ u_LightTiles( this ),
2999+ u_LightGrid1( this ),
3000+ u_LightGrid2( this ),
3001+ u_LightGridOrigin( this ),
3002+ u_LightGridScale( this ),
3003+ u_GlobalLightFactor( this ),
3004+ u_SRGB( this ),
3005+ u_FirstPortalGroup( this ),
3006+ u_TotalPortals( this ),
3007+ u_SurfaceDescriptorsCount( this ),
3008+ u_ProfilerZero( this ),
3009+ // FRAME
3010+ u_Frame( this ),
3011+ u_UseFrustumCulling( this ),
3012+ u_UseOcclusionCulling( this ),
3013+ u_blurVec( this ),
3014+ u_numLights( this ),
3015+ u_ColorModulate( this ),
3016+ u_InverseGamma( this ),
3017+ u_Tonemap( this ),
3018+ u_TonemapParms( this ),
3019+ u_TonemapExposure( this ) {
3020+ }
0 commit comments