From ea9cf5c53159bfc6837004dec61d4b8909a11b0b Mon Sep 17 00:00:00 2001
From: Michael Karcher <michael.karcher@dpk.berlin.fido.de>
Date: Mon, 8 Apr 2002 22:43:58 +0000
Subject: [PATCH] Fixed OpenGL routines broken by the DC -> PHYSDEV change.

---
 graphics/x11drv/opengl.c | 28 ++++++++++------------------
 include/x11drv.h         | 12 +++++++-----
 2 files changed, 17 insertions(+), 23 deletions(-)

diff --git a/graphics/x11drv/opengl.c b/graphics/x11drv/opengl.c
index 3389977b4a4..053afe8f58d 100644
--- a/graphics/x11drv/opengl.c
+++ b/graphics/x11drv/opengl.c
@@ -84,20 +84,19 @@ static void dump_PIXELFORMATDESCRIPTOR(PIXELFORMATDESCRIPTOR *ppfd) {
 
      Equivalent of glXChooseVisual
 */
-int X11DRV_ChoosePixelFormat(DC *dc,
+int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
 			     const PIXELFORMATDESCRIPTOR *ppfd) {
 #define TEST_AND_ADD1(t,a) if (t) att_list[att_pos++] = a
 #define TEST_AND_ADD2(t,a,b) if (t) { att_list[att_pos++] = a; att_list[att_pos++] = b; }
 #define NULL_TEST_AND_ADD2(tv,a,b) att_list[att_pos++] = a; att_list[att_pos++] = ((tv) == 0 ? 0 : b)
 #define ADD2(a,b) att_list[att_pos++] = a; att_list[att_pos++] = b
   
-  X11DRV_PDEVICE *physDev = (X11DRV_PDEVICE *)dc->physDev;
   int att_list[64];
   int att_pos = 0;
   XVisualInfo *vis;
   
   if (TRACE_ON(opengl)) {
-    TRACE("(%p,%p)\n", dc, ppfd);
+    TRACE("(%p,%p)\n", physDev, ppfd);
     
     dump_PIXELFORMATDESCRIPTOR((PIXELFORMATDESCRIPTOR *) ppfd);
   }
@@ -162,16 +161,15 @@ int X11DRV_ChoosePixelFormat(DC *dc,
 
      Get the pixel-format descriptor associated to the given id
 */
-int X11DRV_DescribePixelFormat(DC *dc,
+int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
 			       int iPixelFormat,
 			       UINT nBytes,
 			       PIXELFORMATDESCRIPTOR *ppfd) {
-  X11DRV_PDEVICE *physDev = (X11DRV_PDEVICE *)dc->physDev;
   XVisualInfo *vis;
   int value;
   int rb,gb,bb,ab;
   
-  TRACE("(%p,%d,%d,%p)\n", dc, iPixelFormat, nBytes, ppfd);
+  TRACE("(%p,%d,%d,%p)\n", physDev, iPixelFormat, nBytes, ppfd);
   
   if (nBytes < sizeof(PIXELFORMATDESCRIPTOR)) {
     ERR("Wrong structure size !\n");
@@ -275,10 +273,8 @@ int X11DRV_DescribePixelFormat(DC *dc,
 
      Get the pixel-format id used by this DC
 */
-int X11DRV_GetPixelFormat(DC *dc) {
-  X11DRV_PDEVICE *physDev = (X11DRV_PDEVICE *)dc->physDev;
-  
-  TRACE("(%p): returns %d\n", dc, physDev->current_pf);
+int X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev) {
+  TRACE("(%p): returns %d\n", physDev, physDev->current_pf);
 
   return physDev->current_pf;
 }
@@ -287,12 +283,10 @@ int X11DRV_GetPixelFormat(DC *dc) {
 
      Set the pixel-format id used by this DC
 */
-BOOL X11DRV_SetPixelFormat(DC *dc,
+BOOL X11DRV_SetPixelFormat(X11DRV_PDEVICE *physDev,
 			   int iPixelFormat,
 			   const PIXELFORMATDESCRIPTOR *ppfd) {
-  X11DRV_PDEVICE *physDev = (X11DRV_PDEVICE *)dc->physDev;
-  
-  TRACE("(%p,%d,%p)\n", dc, iPixelFormat, ppfd);
+  TRACE("(%p,%d,%p)\n", physDev, iPixelFormat, ppfd);
 
   physDev->current_pf = iPixelFormat;
   
@@ -303,10 +297,8 @@ BOOL X11DRV_SetPixelFormat(DC *dc,
 
      Swap the buffers of this DC
 */
-BOOL X11DRV_SwapBuffers(DC *dc) {
-  X11DRV_PDEVICE *physDev = (X11DRV_PDEVICE *)dc->physDev;
-  
-  TRACE("(%p)\n", dc);
+BOOL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev) {
+  TRACE("(%p)\n", physDev);
 
   ENTER_GL();
   glXSwapBuffers(gdi_display, physDev->drawable);
diff --git a/include/x11drv.h b/include/x11drv.h
index f52ee22029e..433181573a8 100644
--- a/include/x11drv.h
+++ b/include/x11drv.h
@@ -176,11 +176,13 @@ extern BOOL X11DRV_GetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
 extern BOOL X11DRV_SetDeviceGammaRamp( X11DRV_PDEVICE *physDev, LPVOID ramp );
 
 /* OpenGL / X11 driver functions */
-extern int X11DRV_ChoosePixelFormat(DC *dc, const PIXELFORMATDESCRIPTOR *pppfd) ;
-extern int X11DRV_DescribePixelFormat(DC *dc, int iPixelFormat, UINT nBytes, PIXELFORMATDESCRIPTOR *ppfd) ;
-extern int X11DRV_GetPixelFormat(DC *dc) ;
-extern BOOL X11DRV_SetPixelFormat(DC *dc, int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd) ;
-extern BOOL X11DRV_SwapBuffers(DC *dc) ;
+extern int X11DRV_ChoosePixelFormat(X11DRV_PDEVICE *physDev,
+		                      const PIXELFORMATDESCRIPTOR *pppfd);
+extern int X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev, 
+		                        int iPixelFormat, UINT nBytes,
+					PIXELFORMATDESCRIPTOR *ppfd);
+extern int X11DRV_GetPixelFormat(X11DRV_PDEVICE *physDev);
+extern BOOL X11DRV_SwapBuffers(X11DRV_PDEVICE *physDev);
 
 /* X11 driver internal functions */
 
-- 
GitLab