@@ -286,7 +286,7 @@ void GLShaderManager::UpdateShaderProgramUniformLocations( GLShader* shader, Sha
286286 uniform->UpdateShaderProgramUniformLocation ( shaderProgram );
287287 }
288288
289- if ( glConfig2.uniformBufferObjectAvailable ) {
289+ if ( glConfig2.uniformBufferObjectAvailable && !glConfig2. shadingLanguage420PackAvailable ) {
290290 // create buffer for storing uniform block indexes
291291 shaderProgram->uniformBlockIndexes = ( GLuint* ) Z_Malloc ( sizeof ( GLuint ) * numUniformBlocks );
292292
@@ -416,6 +416,7 @@ struct addedExtension_t {
416416static const std::vector<addedExtension_t> fragmentVertexAddedExtensions = {
417417 { glConfig2.gpuShader4Available , 130 , " EXT_gpu_shader4" },
418418 { glConfig2.gpuShader5Available , 400 , " ARB_gpu_shader5" },
419+ { glConfig2.shadingLanguage420PackAvailable , 420 , " ARB_shading_language_420pack" },
419420 { glConfig2.textureFloatAvailable , 130 , " ARB_texture_float" },
420421 { glConfig2.textureGatherAvailable , 400 , " ARB_texture_gather" },
421422 { glConfig2.textureIntegerAvailable , 0 , " EXT_texture_integer" },
@@ -620,6 +621,10 @@ static std::string GenFragmentHeader() {
620621 str += " #define baseInstance in_baseInstance\n\n " ;
621622 }
622623
624+ if ( glConfig2.shadingLanguage420PackAvailable ) {
625+ AddDefine ( str, " BIND_LIGHTS" , BufferBind::LIGHTS );
626+ }
627+
623628 if ( glConfig2.usingMaterialSystem ) {
624629 AddDefine ( str, " BIND_MATERIALS" , BufferBind::MATERIALS );
625630 AddDefine ( str, " BIND_TEX_DATA" , BufferBind::TEX_DATA );
0 commit comments