PROC APIENTRY DrvGetProcAddress( LPCSTR lpszProc ) { const struct stw_extension_entry *entry; PROC p; if (!stw_dev) return NULL; if (lpszProc[0] == 'w' && lpszProc[1] == 'g' && lpszProc[2] == 'l') for (entry = stw_extension_entries; entry->name; entry++) if (strcmp( lpszProc, entry->name ) == 0) return entry->proc; if (lpszProc[0] == 'g' && lpszProc[1] == 'l') { p = (PROC) _glapi_get_proc_address(lpszProc); if (p) return p; } /* If we get here, we'd normally just return NULL, but since some apps * (like Viewperf12) crash when they try to use the null pointer, try * returning a pointer to a no-op function instead. */ p = stw_get_nop_function(lpszProc); if (p) { debug_printf("wglGetProcAddress(\"%s\") returning no-op function\n", lpszProc); return p; } debug_printf("wglGetProcAddress(\"%s\") returning NULL\n", lpszProc); return NULL; }
GLFBDevProc glFBDevGetProcAddress( const char *procName ) { struct name_address { const char *name; const GLFBDevProc func; }; static const struct name_address functions[] = { { "glFBDevGetString", (GLFBDevProc) glFBDevGetString }, { "glFBDevGetProcAddress", (GLFBDevProc) glFBDevGetProcAddress }, { "glFBDevCreateVisual", (GLFBDevProc) glFBDevCreateVisual }, { "glFBDevDestroyVisual", (GLFBDevProc) glFBDevDestroyVisual }, { "glFBDevGetVisualAttrib", (GLFBDevProc) glFBDevGetVisualAttrib }, { "glFBDevCreateBuffer", (GLFBDevProc) glFBDevCreateBuffer }, { "glFBDevDestroyBuffer", (GLFBDevProc) glFBDevDestroyBuffer }, { "glFBDevGetBufferAttrib", (GLFBDevProc) glFBDevGetBufferAttrib }, { "glFBDevGetCurrentDrawBuffer", (GLFBDevProc) glFBDevGetCurrentDrawBuffer }, { "glFBDevGetCurrentReadBuffer", (GLFBDevProc) glFBDevGetCurrentReadBuffer }, { "glFBDevSwapBuffers", (GLFBDevProc) glFBDevSwapBuffers }, { "glFBDevCreateContext", (GLFBDevProc) glFBDevCreateContext }, { "glFBDevDestroyContext", (GLFBDevProc) glFBDevDestroyContext }, { "glFBDevGetContextAttrib", (GLFBDevProc) glFBDevGetContextAttrib }, { "glFBDevGetCurrentContext", (GLFBDevProc) glFBDevGetCurrentContext }, { "glFBDevMakeCurrent", (GLFBDevProc) glFBDevMakeCurrent }, { NULL, NULL } }; const struct name_address *entry; for (entry = functions; entry->name; entry++) { if (strcmp(entry->name, procName) == 0) { return entry->func; } } return _glapi_get_proc_address(procName); }
hsp_proc hsp_get_proc_address(const char *procname) { hsp_proc p = (hsp_proc)_glapi_get_proc_address((const char*)procname); if (p) return p; return NULL; }
WINGDIAPI PROC GLAPIENTRY wglGetProcAddress(LPCSTR lpszProc) { PROC p = (PROC) _glapi_get_proc_address((const char *) lpszProc); if (p) return p; SetLastError(0); return(NULL); }
GLAPI OSMESAproc GLAPIENTRY OSMesaGetProcAddress( const char *funcName ) { int i; for (i = 0; functions[i].Name; i++) { if (strcmp(functions[i].Name, funcName) == 0) return functions[i].Function; } return _glapi_get_proc_address(funcName); }
DMesaProc DMesaGetProcAddress (const char *name) { DMesaProc p = (DMesaProc)_glapi_get_proc_address(name); /* TODO: handle DMesa* namespace if (p == NULL) { } */ return p; }
/* * This function does not get dispatched through the dispatch table * since it's really a "meta" function. */ __GLXextFuncPtr PUBLIC glXGetProcAddressARB(const GLubyte *procName) { __GLXextFuncPtr f; f = _glxapi_get_proc_address((const char *) procName); if (f) { return f; } f = (__GLXextFuncPtr) _glapi_get_proc_address((const char *) procName); return f; }
PROC APIENTRY DrvGetProcAddress( LPCSTR lpszProc ) { const struct stw_extension_entry *entry; if (!stw_dev) return NULL; if (lpszProc[0] == 'w' && lpszProc[1] == 'g' && lpszProc[2] == 'l') for (entry = stw_extension_entries; entry->name; entry++) if (strcmp( lpszProc, entry->name ) == 0) return entry->proc; if (lpszProc[0] == 'g' && lpszProc[1] == 'l') return (PROC) _glapi_get_proc_address( lpszProc ); return NULL; }
static st_proc_t st_api_get_proc_address(struct st_api *stapi, const char *procname) { return (st_proc_t) _glapi_get_proc_address(procname); }
/* * Called from eglGetProcAddress() via drv->API.GetProcAddress(). */ static _EGLProc xdri_eglGetProcAddress(const char *procname) { /* the symbol is defined in libGL.so */ return (_EGLProc) _glapi_get_proc_address(procname); }
st_proc st_get_proc_address(const char *procname) { return (st_proc) _glapi_get_proc_address(procname); }