diff --git a/source/build/include/baselayer.h b/source/build/include/baselayer.h index 9f5a2d4b4..24f97a213 100644 --- a/source/build/include/baselayer.h +++ b/source/build/include/baselayer.h @@ -117,6 +117,8 @@ struct glinfo_t { char debugoutput; char bufferstorage; char sync; + char depthclamp; + char clipcontrol; char dumped; }; diff --git a/source/build/src/baselayer.cpp b/source/build/src/baselayer.cpp index 9db853026..1340ffa6f 100644 --- a/source/build/src/baselayer.cpp +++ b/source/build/src/baselayer.cpp @@ -285,6 +285,8 @@ struct glinfo_t glinfo = 0, // Debug Output 0, // Buffer storage 0, // Sync + 0, // Depth Clamp + 0, // Clip Control 0, // GL info dumped }; diff --git a/source/build/src/sdlayer.cpp b/source/build/src/sdlayer.cpp index 8d50dac42..f4faf688c 100644 --- a/source/build/src/sdlayer.cpp +++ b/source/build/src/sdlayer.cpp @@ -1350,6 +1350,8 @@ void sdlayer_setvideomode_opengl(void) glinfo.debugoutput = !!Bstrstr(glinfo.extensions, "GL_ARB_debug_output"); glinfo.bufferstorage = !!Bstrstr(glinfo.extensions, "GL_ARB_buffer_storage"); glinfo.sync = !!Bstrstr(glinfo.extensions, "GL_ARB_sync"); + glinfo.depthclamp = !!Bstrstr(glinfo.extensions, "GL_ARB_depth_clamp"); + glinfo.clipcontrol = !!Bstrstr(glinfo.extensions, "GL_ARB_clip_control"); if (Bstrstr(glinfo.extensions, "WGL_3DFX_gamma_control")) { diff --git a/source/build/src/winlayer.cpp b/source/build/src/winlayer.cpp index 6500d4fa6..33c60f4f0 100644 --- a/source/build/src/winlayer.cpp +++ b/source/build/src/winlayer.cpp @@ -2929,6 +2929,14 @@ static int32_t SetupOpenGL(int32_t width, int32_t height, int32_t bitspp) { glinfo.sync = 1; } + else if (!Bstrcmp((char *)p2, "GL_ARB_depth_clamp")) + { + glinfo.depthclamp = 1; + } + else if (!Bstrcmp((char *)p2, "GL_ARB_clipcontrol")) + { + glinfo.clipcontrol = 1; + } } Xfree(p); }