glut: Use the official WGL functions.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 10 Feb 2009 11:36:48 +0000 (11:36 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 10 Feb 2009 11:51:46 +0000 (11:51 +0000)
Especially using wglGetPixelFormat instead of GetPixelFormat causes
problems with opengl32.dll and drivers that not hack around this issue.

src/glut/glx/SConscript
src/glut/glx/glutint.h
src/glut/glx/win32_glx.c

index cb442ba027fbdf21416b6da1934355e31aa6aeba..938fec03df249547a3c302dca19faf1d2157c102 100644 (file)
@@ -10,7 +10,6 @@ target = 'glut32'
 env.Replace(CPPDEFINES = [
     'BUILD_GLUT32', 
     'GLUT_BUILDING_LIB', 
-    'MESA', 
     'NDEBUG',
     'GLUT_NO_WARNING_DISABLE',
 ])
index fe4e038adda3010ef2e9e6e3fd56505846ddd967..ba30af60f0abc9ea08d5e7caa18902ad4fac9a6b 100644 (file)
 
 #include <GL/glut.h>
 
-#if defined(MESA) && defined(_WIN32) && !defined(__CYGWIN32__)
-#include <GL/mesa_wgl.h>
-#endif
-
 #ifndef _WIN32
 /* added by BrianP: */
 #ifndef APIENTRY
 /* GLUT_BUILDING_LIB is used by <GL/glut.h> to 1) not #pragma link
    with the GLUT library, and 2) avoid the Win32 atexit hack. */
 
-/* This must be done after <GL/gl.h> is included.  MESA is defined
-   if the <GL/gl.h> is supplied by Brian Paul's Mesa library. */
-#if defined(MESA) && defined(_WIN32)
-/* Mesa implements "wgl" versions of GDI entry points needed for
-   using OpenGL.  Map these "wgl" versions to the GDI names via
-   macros. */
-#define ChoosePixelFormat   wglChoosePixelFormat
-#define DescribePixelFormat wglDescribePixelFormat
-#define GetPixelFormat      wglGetPixelFormat
-#define SetPixelFormat      wglSetPixelFormat
-#define SwapBuffers         wglSwapBuffers
-#define GetCurrentContext   wglGetCurrentContext
-#define GetCurrentDC        wglGetCurrentDC
-#define MakeCurrent         wglMakeCurrent
-#define CreateContext       wglCreateContext
-#define DeleteContext       wglDeleteContext
-#endif /* MESA */
-
 #ifdef SUPPORT_FORTRAN
 #include <GL/glutf90.h>
 #endif
@@ -572,27 +550,27 @@ typedef struct {
 #ifdef _WIN32
 #define MAKE_CURRENT_LAYER(window)                                    \
   {                                                                   \
-    HGLRC currentContext = GetCurrentContext();                       \
-    HDC currentDc = GetCurrentDC();                                   \
+    HGLRC currentContext = wglGetCurrentContext();                    \
+    HDC currentDc = wglGetCurrentDC();                                \
                                                                       \
     if (currentContext != window->renderCtx                           \
       || currentDc != window->renderDc) {                             \
-      MakeCurrent(window->renderDc, window->renderCtx);               \
+      wglMakeCurrent(window->renderDc, window->renderCtx);            \
     }                                                                 \
   }
 #define MAKE_CURRENT_WINDOW(window)                                   \
   {                                                                   \
-    HGLRC currentContext = GetCurrentContext();                       \
-    HDC currentDc = GetCurrentDC();                                   \
+    HGLRC currentContext = wglGetCurrentContext();                    \
+    HDC currentDc = wglGetCurrentDC();                                \
                                                                       \
     if (currentContext != window->ctx || currentDc != window->hdc) {  \
-      MakeCurrent(window->hdc, window->ctx);                          \
+      wglMakeCurrent(window->hdc, window->ctx);                       \
     }                                                                 \
   }
 #define MAKE_CURRENT_OVERLAY(overlay) \
-  MakeCurrent(overlay->hdc, overlay->ctx)
+  wglMakeCurrent(overlay->hdc, overlay->ctx)
 #define UNMAKE_CURRENT() \
-  MakeCurrent(NULL, NULL)
+  wglMakeCurrent(NULL, NULL)
 #define SWAP_BUFFERS_WINDOW(window) \
   SwapBuffers(window->hdc)
 #define SWAP_BUFFERS_LAYER(window) \
index ecfff44b93060451c0154640b55083c56f4d7f75..3522e606ec881c4d4efd506b913ed247062ada3f 100644 (file)
@@ -22,7 +22,7 @@ glXCreateContext(Display * display, XVisualInfo * visinfo,
      routine. */
   HGLRC context;
 
-  context = CreateContext(XHDC);
+  context = wglCreateContext(XHDC);
 
 #if 0
   /* XXX GLUT doesn't support it now, so don't worry about display list