1
0

WGLManager: fix wglCreateContextAttribsARB not being used

Esse commit está contido em:
sfan5
2021-04-17 15:55:32 +02:00
commit bd95662f03
2 arquivos alterados com 6 adições e 1 exclusões

Ver arquivo

@@ -26,6 +26,7 @@ CWGLManager::CWGLManager()
#ifdef _DEBUG
setDebugName("CWGLManager");
#endif
memset(FunctionPointers, 0, sizeof(FunctionPointers));
}
CWGLManager::~CWGLManager()
@@ -206,6 +207,9 @@ bool CWGLManager::initialize(const SIrrlichtCreationParameters& params, const SE
os::Printer::log("WGL_extensions", wglExtensions);
#endif
// Without a GL context we can't call wglGetProcAddress so store this for later
FunctionPointers[0] = (void*)wglGetProcAddress("wglCreateContextAttribsARB");
#ifdef WGL_ARB_pixel_format
PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormat_ARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)wglGetProcAddress("wglChoosePixelFormatARB");
if (pixel_format_supported && wglChoosePixelFormat_ARB)
@@ -400,7 +404,7 @@ bool CWGLManager::generateContext()
HGLRC hrc;
// create rendering context
#ifdef WGL_ARB_create_context
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribs_ARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)wglGetProcAddress("wglCreateContextAttribsARB");
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribs_ARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)FunctionPointers[0];
if (wglCreateContextAttribs_ARB)
{
// with 3.0 all available profiles should be usable, higher versions impose restrictions

Ver arquivo

@@ -65,6 +65,7 @@ namespace video
s32 PixelFormat;
PIXELFORMATDESCRIPTOR pfd;
ECOLOR_FORMAT ColorFormat;
void* FunctionPointers[1];
};
}
}