@@ -81,6 +81,7 @@ GLShader_screen *gl_screenShader = nullptr;
8181GLShader_screenMaterial *gl_screenShaderMaterial = nullptr ;
8282GLShader_skybox *gl_skyboxShader = nullptr ;
8383GLShader_skyboxMaterial *gl_skyboxShaderMaterial = nullptr ;
84+ GlobalUBOProxy *globalUBOProxy = nullptr ;
8485GLShaderManager gl_shaderManager;
8586
8687namespace // Implementation details
@@ -2962,3 +2963,39 @@ GLShader_processSurfaces::GLShader_processSurfaces() :
29622963 u_ViewID( this ),
29632964 u_SurfaceCommandsOffset( this ) {
29642965}
2966+
2967+ GlobalUBOProxy::GlobalUBOProxy () :
2968+ /* HACK: A GLShader* is required to initialise uniforms,
2969+ but we don't need the GLSL shader itself, so we won't actually build it */
2970+ GLShader( " proxy" , 0 ,
2971+ false , " screenSpace" , " generic" , true ),
2972+ // CONST
2973+ u_ColorMap3D( this ),
2974+ u_DepthMap( this ),
2975+ u_PortalMap( this ),
2976+ u_FogMap( this ),
2977+ u_DepthTile1( this ),
2978+ u_DepthTile2( this ),
2979+ u_LightTiles( this ),
2980+ u_LightGrid1( this ),
2981+ u_LightGrid2( this ),
2982+ u_LightGridOrigin( this ),
2983+ u_LightGridScale( this ),
2984+ u_GlobalLightFactor( this ),
2985+ u_SRGB( this ),
2986+ u_FirstPortalGroup( this ),
2987+ u_TotalPortals( this ),
2988+ u_SurfaceDescriptorsCount( this ),
2989+ u_ProfilerZero( this ),
2990+ // FRAME
2991+ u_Frame( this ),
2992+ u_UseFrustumCulling( this ),
2993+ u_UseOcclusionCulling( this ),
2994+ u_blurVec( this ),
2995+ u_numLights( this ),
2996+ u_ColorModulate( this ),
2997+ u_InverseGamma( this ),
2998+ u_Tonemap( this ),
2999+ u_TonemapParms( this ),
3000+ u_TonemapExposure( this ) {
3001+ }
0 commit comments