deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#ifdef HAVE_DIX_CONFIG_H
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <dix-config.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <X11/Xwindows.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <GL/gl.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <GL/glext.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxserver.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxext.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <windowstr.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <resource.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <GL/glxint.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <GL/glxtokens.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <scrnintstr.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxserver.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxscreens.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxdrawable.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxcontext.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxext.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxutil.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <glxscreens.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <GL/internal/glcore.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include <stdlib.h>
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned enableDebug : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned enableTrace : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned dumpPFD : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned dumpHWND : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned dumpDC : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} glWinDebugSettingsRec, *glWinDebugSettingsPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern glWinDebugSettingsRec glWinDebugSettings;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int num_vis;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync __GLcontextModes *modes;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync void **priv;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync /* wrapped screen functions */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync RealizeWindowProcPtr RealizeWindow;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync UnrealizeWindowProcPtr UnrealizeWindow;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CopyWindowProcPtr CopyWindow;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} glWinScreenRec;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern glWinScreenRec glWinScreens[MAXSCREENS];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define glWinGetScreenPriv(pScreen) &glWinScreens[pScreen->myNum]
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define glWinScreenPriv(pScreen) glWinScreenRec *pScreenPriv = glWinGetScreenPriv(pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#if 1
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_TRACE() if (glWinDebugSettings.enableTrace) ErrorF("%s:%d: Trace\n", __FUNCTION__, __LINE__ )
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_TRACE_MSG(msg, args...) if (glWinDebugSettings.enableTrace) ErrorF("%s:%d: " msg, __FUNCTION__, __LINE__, ##args )
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_DEBUG_MSG(msg, args...) if (glWinDebugSettings.enableDebug) ErrorF("%s:%d: " msg, __FUNCTION__, __LINE__, ##args )
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_DEBUG_MSG2(msg, args...) if (glWinDebugSettings.enableDebug) ErrorF(msg, ##args )
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#else
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_TRACE()
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_TRACE_MSG(a, ...)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_DEBUG_MSG(a, ...)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GLWIN_DEBUG_MSG2(a, ...)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync