diff options
author | marha <marha@users.sourceforge.net> | 2013-12-22 13:12:15 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-12-22 13:16:58 +0100 |
commit | 1d03b6f684ab1ea6772f00058605a9ebb2910628 (patch) | |
tree | 8b393bd59900eba6aa9010cab9e714922cac2536 /xorg-server/hw/xwin/glx/glwrap.c | |
parent | 5567cf1befbda64f2dc6fae1d337567cd984b46e (diff) | |
parent | c81020559f329a516191927222b3698ba7370aca (diff) | |
download | vcxsrv-1d03b6f684ab1ea6772f00058605a9ebb2910628.tar.gz vcxsrv-1d03b6f684ab1ea6772f00058605a9ebb2910628.tar.bz2 vcxsrv-1d03b6f684ab1ea6772f00058605a9ebb2910628.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
libxtrans fontconfig glproto libX11 libxcb xcbproto mesa xserver pixman xkeyboard-config git update 22 Dec 2013
Conflicts:
mesalib/include/GL/glext.h
mesalib/src/mesa/drivers/dri/common/dri_util.c
mesalib/src/mesa/drivers/dri/swrast/swrast.c
xorg-server/damageext/damageext.c
xorg-server/dix/dispatch.c
xorg-server/glx/glxdriswrast.c
xorg-server/glx/indirect_dispatch.c
xorg-server/glx/indirect_dispatch_swap.c
xorg-server/glx/indirect_program.c
xorg-server/glx/render2.c
xorg-server/glx/render2swap.c
xorg-server/hw/xwin/glx/gen_gl_wrappers.py
xorg-server/hw/xwin/glx/glthunk.c
xorg-server/hw/xwin/glx/indirect.c
xorg-server/include/os.h
xorg-server/present/present_request.c
Diffstat (limited to 'xorg-server/hw/xwin/glx/glwrap.c')
-rw-r--r-- | xorg-server/hw/xwin/glx/glwrap.c | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/xorg-server/hw/xwin/glx/glwrap.c b/xorg-server/hw/xwin/glx/glwrap.c deleted file mode 100644 index 9733e7526..000000000 --- a/xorg-server/hw/xwin/glx/glwrap.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - * File: glwrap.c - * Purpose: Wrapper functions for Win32 OpenGL functions - * - * Authors: Alexander Gottwald - * Jon TURNEY - * - * Copyright (c) Jon TURNEY 2009 - * Copyright (c) Alexander Gottwald 2004 - * - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -// define USE_OPENGL32 makes gl.h declare gl*() function prototypes with stdcall linkage, -// so our generated wrappers will correctly link with the functions in opengl32.dll -#define USE_OPENGL32 - -#ifdef HAVE_XWIN_CONFIG_H -#include <xwin-config.h> -#endif - -#include <X11/Xwindows.h> -#include <GL/gl.h> -#include <GL/glext.h> -#include <glx/glheader.h> -#include <glx/glxserver.h> -#include <glx/glxext.h> -#include <glx/glapi.h> -#include <glx/dispatch.h> -#include <glwindows.h> -#include <winmsg.h> - -#ifdef _DEBUG -static unsigned int glWinIndirectProcCalls = 0; -static unsigned int glWinDirectProcCalls = 0; - -void -glWinCallDelta(void) -{ - static unsigned int glWinIndirectProcCallsLast = 0; - static unsigned int glWinDirectProcCallsLast = 0; - - if ((glWinIndirectProcCalls != glWinIndirectProcCallsLast) || - (glWinDirectProcCalls != glWinDirectProcCallsLast)) { - if (glxWinDebugSettings.enableTrace) { - ErrorF("after %d direct and %d indirect GL calls\n", - glWinDirectProcCalls - glWinDirectProcCallsLast, - glWinIndirectProcCalls - glWinIndirectProcCallsLast); - } - glWinDirectProcCallsLast = glWinDirectProcCalls; - glWinIndirectProcCallsLast = glWinIndirectProcCalls; - } -} -#endif - -static PROC -glWinResolveHelper(PROC * cache, const char *symbol) -{ - PROC proc = NULL; - - /* If not yet cached, call wglGetProcAddress */ - if ((*cache) == NULL) { - proc = wglGetProcAddress(symbol); - if (proc == NULL) { - winDebug("glwrap: Can't resolve \"%s\"\n", symbol); - (*cache) = (PROC) - 1; - } - else { - winDebug("glwrap: Resolved \"%s\"\n", symbol); - (*cache) = proc; - } - } - /* Cached wglGetProcAddress failure */ - else if ((*cache) == (PROC) - 1) { - proc = 0; - } - /* Cached wglGetProcAddress result */ - else { - proc = (*cache); - } - - return proc; -} - -#ifdef _DEBUG -#define INCPROCCALLS glWinIndirectProcCalls++; -#else -#define INCPROCCALLS -#endif - -#define RESOLVE_RET(proctype, symbol, retval) \ - static PROC cache = NULL; \ - proctype proc = (proctype)glWinResolveHelper(&cache, symbol); \ - if (proc == NULL) { \ - __glXErrorCallBack(0); \ - return retval; \ - } \ - INCPROCCALLS - -#define RESOLVE(proctype, symbol) RESOLVE_RET(proctype, symbol,) - -#define RESOLVED_PROC(proctype) proc - -/* - Include generated cdecl wrappers for stdcall gl*() functions in opengl32.dll - - OpenGL 1.2 and upward is treated as extensions, function address must - found using wglGetProcAddress(), but also stdcall so still need wrappers... - - Include generated dispatch table setup function -*/ - -#include "generated_gl_wrappers.c" - -/* - Special non-static wrapper for glGetString for debug output -*/ - -const GLubyte * -glGetStringWrapperNonstatic(GLenum name) -{ - return glGetString(name); -} - -/* - Special non-static wrapper for glAddSwapHintRectWIN for copySubBuffers -*/ - -typedef void (__stdcall * PFNGLADDSWAPHINTRECTWIN) (GLint x, GLint y, - GLsizei width, - GLsizei height); - -void -glAddSwapHintRectWINWrapperNonstatic(GLint x, GLint y, GLsizei width, - GLsizei height) -{ - RESOLVE(PFNGLADDSWAPHINTRECTWIN, "glAddSwapHintRectWIN"); - proc(x, y, width, height); -} |