mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-04 23:41:07 +00:00
Don't crash if shaders are unavailable
This commit is contained in:
parent
812cceb53f
commit
e45295f1ea
1 changed files with 5 additions and 3 deletions
|
@ -790,6 +790,8 @@ EXPORT void HWRAPI(LoadShaders) (void)
|
|||
#ifdef GL_SHADERS
|
||||
GLuint gl_vertShader, gl_fragShader;
|
||||
GLint i, result;
|
||||
|
||||
if (!pglUseProgram) return;
|
||||
|
||||
gl_customvertexshaders[0] = NULL;
|
||||
gl_customfragmentshaders[0] = NULL;
|
||||
|
@ -902,6 +904,7 @@ EXPORT void HWRAPI(LoadShaders) (void)
|
|||
EXPORT void HWRAPI(LoadCustomShader) (int number, char *shader, size_t size, boolean fragment)
|
||||
{
|
||||
#ifdef GL_SHADERS
|
||||
if (!pglUseProgram) return;
|
||||
if (number < 1 || number > MAXSHADERS)
|
||||
I_Error("LoadCustomShader(): cannot load shader %d (max %d)", number, MAXSHADERS);
|
||||
|
||||
|
@ -951,6 +954,7 @@ EXPORT void HWRAPI(UnSetShader) (void)
|
|||
gl_shadersenabled = false;
|
||||
gl_currentshaderprogram = 0;
|
||||
gl_shaderprogramchanged = true;// not sure if this is needed
|
||||
if (!pglUseProgram) return;
|
||||
pglUseProgram(0);
|
||||
#endif
|
||||
}
|
||||
|
@ -1672,7 +1676,7 @@ EXPORT void HWRAPI(SetTexture) (FTextureInfo *pTexInfo)
|
|||
static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat *tint, GLRGBAFloat *fade)
|
||||
{
|
||||
#ifdef GL_SHADERS
|
||||
if (gl_shadersenabled)
|
||||
if (gl_shadersenabled && pglUseProgram)
|
||||
{
|
||||
gl_shaderprogram_t *shader = &gl_shaderprograms[gl_currentshaderprogram];
|
||||
if (shader->program)
|
||||
|
@ -1760,9 +1764,7 @@ static void load_shaders(FSurfaceInfo *Surface, GLRGBAFloat *poly, GLRGBAFloat *
|
|||
else
|
||||
pglUseProgram(0);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
pglUseProgram(0);
|
||||
}
|
||||
|
||||
// unfinished draw call batching
|
||||
|
|
Loading…
Reference in a new issue