mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-27 23:45:21 +01:00
use glGetStringi if available (fixes errors on core profile)
This commit is contained in:
parent
dffed46947
commit
efd5bc6c32
@ -108,6 +108,8 @@ extern PFNGLDRAWBUFFERSPROC glDrawBuffers;
|
|||||||
extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
|
extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
|
||||||
extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
|
extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
|
||||||
extern PFNGLTEXBUFFERPROC glTexBuffer;
|
extern PFNGLTEXBUFFERPROC glTexBuffer;
|
||||||
|
extern PFNGLGETINTEGERVPROC glGetIntegerv;
|
||||||
|
extern PFNGLGETSTRINGIPROC glGetStringi;
|
||||||
|
|
||||||
extern HMODULE g_oglu_hmodule;
|
extern HMODULE g_oglu_hmodule;
|
||||||
extern BOOL g_oglu_got_version2;
|
extern BOOL g_oglu_got_version2;
|
||||||
|
@ -88,6 +88,8 @@ PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
|
|||||||
PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB;
|
PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB;
|
||||||
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB;
|
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB;
|
||||||
PFNGLTEXBUFFERPROC glTexBuffer;
|
PFNGLTEXBUFFERPROC glTexBuffer;
|
||||||
|
PFNGLGETINTEGERVPROC glGetIntegerv;
|
||||||
|
PFNGLGETSTRINGIPROC glGetStringi;
|
||||||
|
|
||||||
HMODULE g_oglu_hmodule;
|
HMODULE g_oglu_hmodule;
|
||||||
BOOL g_oglu_got_version2;
|
BOOL g_oglu_got_version2;
|
||||||
@ -192,6 +194,8 @@ void oglu_init()
|
|||||||
wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)xwglGetProcAddress("wglGetExtensionsStringARB");
|
wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)xwglGetProcAddress("wglGetExtensionsStringARB");
|
||||||
|
|
||||||
glTexBuffer = (PFNGLTEXBUFFERPROC)xwglGetProcAddress("glTexBuffer");
|
glTexBuffer = (PFNGLTEXBUFFERPROC)xwglGetProcAddress("glTexBuffer");
|
||||||
|
glGetIntegerv = (PFNGLGETINTEGERVPROC)xwglGetProcAddress("glGetIntegerv");
|
||||||
|
glGetStringi = (PFNGLGETSTRINGIPROC)xwglGetProcAddress("glGetStringi");
|
||||||
|
|
||||||
char* glversion = (char*)glGetString(GL_VERSION);
|
char* glversion = (char*)glGetString(GL_VERSION);
|
||||||
if (glversion)
|
if (glversion)
|
||||||
@ -227,11 +231,24 @@ void oglu_init()
|
|||||||
|
|
||||||
BOOL oglu_ext_exists(char* ext, HDC hdc)
|
BOOL oglu_ext_exists(char* ext, HDC hdc)
|
||||||
{
|
{
|
||||||
|
if (glGetIntegerv && glGetStringi)
|
||||||
|
{
|
||||||
|
GLint n = 0;
|
||||||
|
glGetIntegerv(GL_NUM_EXTENSIONS, &n);
|
||||||
|
|
||||||
|
for (GLint i = 0; i < n; i++)
|
||||||
|
{
|
||||||
|
char* glext = (char*)glGetStringi(GL_EXTENSIONS, i);
|
||||||
|
|
||||||
|
if (glext && strcmp(glext, ext) == 0)
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
char* glext = (char*)glGetString(GL_EXTENSIONS);
|
char* glext = (char*)glGetString(GL_EXTENSIONS);
|
||||||
|
|
||||||
if (glext)
|
if (glext && strstr(glext, ext))
|
||||||
{
|
|
||||||
if (strstr(glext, ext))
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user