@@ -1345,6 +1345,12 @@ void GLShaderManager::InitShader( GLShader* shader ) {
13451345			ShaderDescriptor* desc = FindShader ( shader->_name , shaderType.mainText , shaderType.GLType , shaderType.headers ,
13461346				uniqueMacros, compileMacros, true  );
13471347
1348+ 			if  ( desc && glConfig2.pushBufferAvailable  ) {
1349+ 				desc->shaderSource  = RemoveUniformsFromShaderText ( desc->shaderSource , shader->_pushUniforms  );
1350+ 
1351+ 				desc->shaderSource .insert ( shaderType.offset , globalUniformBlock );
1352+ 			}
1353+ 
13481354			if  ( desc && glConfig2.usingMaterialSystem  && shader->_useMaterialSystem  ) {
13491355				desc->shaderSource  = ShaderPostProcess ( shader, desc->shaderSource , shaderType.offset  );
13501356			}
@@ -1600,7 +1606,7 @@ void GLShaderManager::PostProcessGlobalUniforms() {
16001606	GLuint padding;
16011607	std::vector<GLUniform*>* uniforms = &( ( GLShader* ) globalUBOProxy )->_uniforms ;
16021608	std::vector<GLUniform*> constUniforms =
1603- 		ProcessUniforms ( GLUniform::CONST, GLUniform::CONST, false , *uniforms, size, padding );
1609+ 		ProcessUniforms ( GLUniform::CONST, GLUniform::CONST, !glConfig2. usingBindlessTextures , *uniforms, size, padding );
16041610
16051611	GenerateUniformStructDefinesText ( constUniforms, padding, 0 , " globalUniforms" 
16061612
@@ -1609,7 +1615,7 @@ void GLShaderManager::PostProcessGlobalUniforms() {
16091615	pushBuffer.constUniformsSize  = size + padding;
16101616
16111617	std::vector<GLUniform*> frameUniforms =
1612- 		ProcessUniforms ( GLUniform::FRAME, GLUniform::FRAME, false , *uniforms, size, padding );
1618+ 		ProcessUniforms ( GLUniform::FRAME, GLUniform::FRAME, !glConfig2. usingBindlessTextures , *uniforms, size, padding );
16131619
16141620	GenerateUniformStructDefinesText ( frameUniforms, padding, paddingCount, " globalUniforms" 
16151621
@@ -2245,7 +2251,7 @@ void GLShader::PostProcessUniforms() {
22452251	if  ( glConfig2.pushBufferAvailable  && !pushSkip ) {
22462252		GLuint unused;
22472253		_pushUniforms = gl_shaderManager.ProcessUniforms ( GLUniform::CONST, GLUniform::FRAME,
2248- 			false , _uniforms, unused, unused );
2254+ 			!glConfig2. usingBindlessTextures , _uniforms, unused, unused );
22492255	}
22502256}
22512257
0 commit comments