Fixed: Don't crash if GL_VERSION returns NULL (it should never happen)
This commit is contained in:
parent
afa53e242e
commit
d9265f36cf
2 changed files with 17 additions and 8 deletions
|
@ -1352,9 +1352,9 @@ void CDriverGL::getZBufferPart (std::vector<float> &zbuffer, NLMISC::CRect &rec
|
|||
#ifdef USE_OPENGLES
|
||||
glReadPixels (rect.X, rect.Y, rect.Width, rect.Height, GL_DEPTH_COMPONENT16_OES, GL_FLOAT, &(zbuffer[0]));
|
||||
#else
|
||||
glPixelTransferf(GL_DEPTH_SCALE, 1.0f) ;
|
||||
glPixelTransferf(GL_DEPTH_BIAS, 0.f) ;
|
||||
glReadPixels (rect.X, rect.Y, rect.Width, rect.Height, GL_DEPTH_COMPONENT , GL_FLOAT, &(zbuffer[0]));
|
||||
glPixelTransferf(GL_DEPTH_SCALE, 1.0f);
|
||||
glPixelTransferf(GL_DEPTH_BIAS, 0.f);
|
||||
glReadPixels(rect.X, rect.Y, rect.Width, rect.Height, GL_DEPTH_COMPONENT , GL_FLOAT, &(zbuffer[0]));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1566,12 +1566,21 @@ void registerGlExtensions(CGlExtensions &ext)
|
|||
H_AUTO_OGL(registerGlExtensions);
|
||||
|
||||
// OpenGL 1.2 ??
|
||||
const char *nglVersion= (const char *)glGetString (GL_VERSION);
|
||||
sint a=0, b=0;
|
||||
const char *nglVersion = (const char *)glGetString (GL_VERSION);
|
||||
|
||||
// 1.2*** ???
|
||||
sscanf(nglVersion, "%d.%d", &a, &b);
|
||||
ext.Version1_2 = (a==1 && b>=2) || (a>=2);
|
||||
if (nglVersion)
|
||||
{
|
||||
sint a = 0, b = 0;
|
||||
|
||||
// 1.2*** ???
|
||||
sscanf(nglVersion, "%d.%d", &a, &b);
|
||||
ext.Version1_2 = (a==1 && b>=2) || (a>=2);
|
||||
}
|
||||
else
|
||||
{
|
||||
nlwarning("3D: Unable to get GL_VERSION, OpenGL 1.2 should be supported on all recent GPU...");
|
||||
ext.Version1_2 = true;
|
||||
}
|
||||
|
||||
const char *vendor = (const char *) glGetString (GL_VENDOR);
|
||||
const char *renderer = (const char *) glGetString (GL_RENDERER);
|
||||
|
|
Loading…
Reference in a new issue