Fix crash if Cg is supported but GLSL is not
This commit is contained in:
parent
0a9f9887f9
commit
c80fd20208
|
|
@ -108,7 +108,7 @@ CLP(CgShaderContext)(CLP(GraphicsStateGuardian) *glgsg, Shader *s) : ShaderConte
|
|||
}
|
||||
}
|
||||
|
||||
if (_cg_program != 0) {
|
||||
if (_cg_program != 0 && _glgsg->_supports_glsl) {
|
||||
if (cgGetProgramProfile(_cg_program) == CG_PROFILE_GLSLC) {
|
||||
_glsl_program = cgGLGetProgramID(_cg_program);
|
||||
|
||||
|
|
|
|||
|
|
@ -1562,6 +1562,22 @@ reset() {
|
|||
_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)
|
||||
get_extension_func("glPatchParameteri");
|
||||
}
|
||||
} else if (_supports_basic_shaders) {
|
||||
// We don't support GLSL, but we support ARB programs.
|
||||
_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)
|
||||
get_extension_func("glDisableVertexAttribArrayARB");
|
||||
_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)
|
||||
get_extension_func("glEnableVertexAttribArrayARB");
|
||||
|
||||
_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC)
|
||||
get_extension_func("glVertexAttrib4fvARB");
|
||||
_glVertexAttrib4dv = (PFNGLVERTEXATTRIB4DVPROC)
|
||||
get_extension_func("glVertexAttrib4dvARB");
|
||||
_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)
|
||||
get_extension_func("glVertexAttribPointerARB");
|
||||
|
||||
_glVertexAttribIPointer = NULL;
|
||||
_glVertexAttribLPointer = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue