libepoxy 1.5.10
dispatch_wgl.c File Reference
#include <assert.h>
#include <string.h>
#include <stdio.h>
#include "dispatch_common.h"

Functions

bool epoxy_conservative_has_wgl_extension (const char *ext)
 If we can determine the WGL extension support from the current context, then return that, otherwise give the answer that will just send us on to get_proc_address().
 
bool epoxy_has_wgl_extension (HDC hdc, const char *ext)
 
void epoxy_handle_external_wglMakeCurrent (void)
 Does the work necessary to update the win32 per-thread dispatch tables when wglMakeCurrent() is called.
 
BOOL WINAPI DllMain (HINSTANCE dll, DWORD reason, LPVOID reserved)
 This global symbol is apparently looked up by Windows when loading a DLL, but it doesn't declare the prototype.
 
WRAPPER epoxy_wglMakeCurrent (HDC hdc, HGLRC hglrc)
 
WRAPPER epoxy_wglMakeContextCurrentARB (HDC hDrawDC, HDC hReadDC, HGLRC hglrc)
 
WRAPPER epoxy_wglMakeContextCurrentEXT (HDC hDrawDC, HDC hReadDC, HGLRC hglrc)
 
WRAPPER epoxy_wglMakeAssociatedContextCurrentAMD (HGLRC hglrc)
 

Variables

PFNWGLMAKECURRENTPROC epoxy_wglMakeCurrent = epoxy_wglMakeCurrent_wrapped
 
PFNWGLMAKECONTEXTCURRENTEXTPROC epoxy_wglMakeContextCurrentEXT = epoxy_wglMakeContextCurrentEXT_wrapped
 
PFNWGLMAKECONTEXTCURRENTARBPROC epoxy_wglMakeContextCurrentARB = epoxy_wglMakeContextCurrentARB_wrapped
 
PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC epoxy_wglMakeAssociatedContextCurrentEXT = epoxy_wglMakeAssociatedContextCurrentAMD_wrapped
 

Function Documentation

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE dll,
DWORD reason,
LPVOID reserved )

This global symbol is apparently looked up by Windows when loading a DLL, but it doesn't declare the prototype.

◆ epoxy_conservative_has_wgl_extension()

bool epoxy_conservative_has_wgl_extension ( const char * ext)

If we can determine the WGL extension support from the current context, then return that, otherwise give the answer that will just send us on to get_proc_address().

◆ epoxy_handle_external_wglMakeCurrent()

void epoxy_handle_external_wglMakeCurrent ( void )

Does the work necessary to update the win32 per-thread dispatch tables when wglMakeCurrent() is called.

Right now, we use global function pointers until the second MakeCurrent occurs, at which point we switch to dispatch tables. This could be improved in the future to track a resolved dispatch table per context and reuse it when the context is made current again.

◆ epoxy_has_wgl_extension()

bool epoxy_has_wgl_extension ( HDC hdc,
const char * ext )

◆ epoxy_wglMakeAssociatedContextCurrentAMD()

WRAPPER epoxy_wglMakeAssociatedContextCurrentAMD ( HGLRC hglrc)

◆ epoxy_wglMakeContextCurrentARB()

WRAPPER epoxy_wglMakeContextCurrentARB ( HDC hDrawDC,
HDC hReadDC,
HGLRC hglrc )

◆ epoxy_wglMakeContextCurrentEXT()

WRAPPER epoxy_wglMakeContextCurrentEXT ( HDC hDrawDC,
HDC hReadDC,
HGLRC hglrc )

◆ epoxy_wglMakeCurrent()

WRAPPER epoxy_wglMakeCurrent ( HDC hdc,
HGLRC hglrc )

Variable Documentation

◆ epoxy_wglMakeAssociatedContextCurrentEXT

PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC epoxy_wglMakeAssociatedContextCurrentEXT = epoxy_wglMakeAssociatedContextCurrentAMD_wrapped

◆ epoxy_wglMakeContextCurrentARB

PFNWGLMAKECONTEXTCURRENTARBPROC epoxy_wglMakeContextCurrentARB = epoxy_wglMakeContextCurrentARB_wrapped

◆ epoxy_wglMakeContextCurrentEXT

PFNWGLMAKECONTEXTCURRENTEXTPROC epoxy_wglMakeContextCurrentEXT = epoxy_wglMakeContextCurrentEXT_wrapped

◆ epoxy_wglMakeCurrent

PFNWGLMAKECURRENTPROC epoxy_wglMakeCurrent = epoxy_wglMakeCurrent_wrapped