diff --git a/Quake/gl_rmisc.c b/Quake/gl_rmisc.c index 29005497..48034a05 100644 --- a/Quake/gl_rmisc.c +++ b/Quake/gl_rmisc.c @@ -363,6 +363,26 @@ static qboolean GL_CheckProgram (GLuint program) return true; } +/* +============= +GL_GetUniformLocation +============= +*/ +GLint GL_GetUniformLocation (GLuint *programPtr, const char *name) +{ + GLint location; + + if (!programPtr) + return -1; + + location = GL_GetUniformLocationFunc(*programPtr, name); + if (location == -1) + { + Con_Warning("GL_GetUniformLocationFunc %s failed\n", name); + *programPtr = 0; + } + return location; +} /* ==================== diff --git a/Quake/glquake.h b/Quake/glquake.h index 66b7254a..e9394d10 100644 --- a/Quake/glquake.h +++ b/Quake/glquake.h @@ -349,6 +349,7 @@ void R_DrawBrushModel_ShowTris (entity_t *e); void R_DrawAliasModel_ShowTris (entity_t *e); void R_DrawParticles_ShowTris (void); +GLint GL_GetUniformLocation (GLuint *programPtr, const char *name); GLuint GL_CreateProgram (const GLchar *vertSource, const GLchar *fragSource, int numbindings, const glsl_attrib_binding_t *bindings); void R_DeleteShaders (void); diff --git a/Quake/r_alias.c b/Quake/r_alias.c index 0f1e9759..31aa31f3 100644 --- a/Quake/r_alias.c +++ b/Quake/r_alias.c @@ -131,23 +131,6 @@ qboolean GLAlias_SupportsShaders (void) return gl_glsl_able && gl_vbo_able && gl_max_texture_units >= 3; } -/* -============= -GLAlias_GetUniformLocation -============= -*/ -static GLint GLAlias_GetUniformLocation (const char *name) -{ - GLint location; - location = GL_GetUniformLocationFunc(r_alias_program, name); - if (location == -1) - { - Con_Warning("GL_GetUniformLocationFunc %s failed", name); - r_alias_program = 0; - } - return location; -} - /* ============= GLAlias_CreateShaders @@ -227,13 +210,13 @@ void GLAlias_CreateShaders (void) if (r_alias_program != 0) { // get uniform locations - blendLoc = GLAlias_GetUniformLocation ("Blend"); - shadevectorLoc = GLAlias_GetUniformLocation ("ShadeVector"); - lightColorLoc = GLAlias_GetUniformLocation ("LightColor"); - texLoc = GLAlias_GetUniformLocation("Tex"); - fullbrightTexLoc = GLAlias_GetUniformLocation("FullbrightTex"); - useFullbrightTexLoc = GLAlias_GetUniformLocation("UseFullbrightTex"); - useOverbrightLoc = GLAlias_GetUniformLocation("UseOverbright"); + blendLoc = GL_GetUniformLocation (&r_alias_program, "Blend"); + shadevectorLoc = GL_GetUniformLocation (&r_alias_program, "ShadeVector"); + lightColorLoc = GL_GetUniformLocation (&r_alias_program, "LightColor"); + texLoc = GL_GetUniformLocation (&r_alias_program, "Tex"); + fullbrightTexLoc = GL_GetUniformLocation (&r_alias_program, "FullbrightTex"); + useFullbrightTexLoc = GL_GetUniformLocation (&r_alias_program, "UseFullbrightTex"); + useOverbrightLoc = GL_GetUniformLocation (&r_alias_program, "UseOverbright"); } }