wgl: use gldrv.h instead of stw_icd.h
authorJesse Natalie <jenatali@ntdev.microsoft.com>
Tue, 17 Mar 2020 17:53:33 +0000 (10:53 -0700)
committerMarge Bot <eric+marge@anholt.net>
Fri, 27 Mar 2020 19:50:24 +0000 (19:50 +0000)
Now that we have the official header, let's use that instead of
stw_icd.h.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4305>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4305>

src/gallium/state_trackers/wgl/stw_context.c
src/gallium/state_trackers/wgl/stw_device.c
src/gallium/state_trackers/wgl/stw_device.h
src/gallium/state_trackers/wgl/stw_ext_context.c
src/gallium/state_trackers/wgl/stw_ext_rendertexture.c
src/gallium/state_trackers/wgl/stw_framebuffer.c
src/gallium/state_trackers/wgl/stw_getprocaddress.c
src/gallium/state_trackers/wgl/stw_icd.h [deleted file]
src/gallium/state_trackers/wgl/stw_pixelformat.c
src/gallium/state_trackers/wgl/stw_wgl.c

index 9003f43530a64712311c0694714e15a53dc8a39a..fe9b2e06e006b1b670ee80c6dbb3a346ab48defe 100644 (file)
@@ -40,7 +40,7 @@
 #include "state_tracker/st_api.h"
 #include "hud/hud_context.h"
 
-#include "stw_icd.h"
+#include "gldrv.h"
 #include "stw_device.h"
 #include "stw_winsys.h"
 #include "stw_framebuffer.h"
index d88b37f7225b36d2136efbe6888a114e7acfe617..f7e0e447a9830b9223d50923966e9be8d4cc2af4 100644 (file)
@@ -36,7 +36,7 @@
 #include "stw_device.h"
 #include "stw_winsys.h"
 #include "stw_pixelformat.h"
-#include "stw_icd.h"
+#include "gldrv.h"
 #include "stw_tls.h"
 #include "stw_framebuffer.h"
 #include "stw_st.h"
index 766975c292c7115fbfdf5ef7fc997971c083953e..9f6995f5bef26cc27284f76482d943c4d3d61adf 100644 (file)
@@ -31,7 +31,8 @@
 
 #include "pipe/p_compiler.h"
 #include "util/u_handle_table.h"
-#include "stw_icd.h"
+#include <GL/gl.h>
+#include "gldrv.h"
 #include "stw_pixelformat.h"
 
 
@@ -62,7 +63,7 @@ struct stw_device
    unsigned pixelformat_count;
    unsigned pixelformat_extended_count;
 
-   GLCALLBACKTABLE callbacks;
+   struct WGLCALLBACKS callbacks;
 
    CRITICAL_SECTION ctx_mutex;
    struct handle_table *ctx_table;
index 6326d20ba82e024c9fbd8177592914b889e39f51..fc866892175ebed8c12ab8ee2c092ae24c8fa1ed 100644 (file)
@@ -30,7 +30,7 @@
 #include <GL/gl.h>
 #include <GL/wglext.h>
 
-#include "stw_icd.h"
+#include "gldrv.h"
 #include "stw_context.h"
 #include "stw_device.h"
 #include "stw_ext_context.h"
@@ -172,10 +172,10 @@ wglCreateContextAttribsARB(HDC hDC, HGLRC hShareContext, const int *attribList)
       DHGLRC dhglrc, c, share_dhglrc = 0;
 
       /* Convert public HGLRC to driver DHGLRC */
-      if (stw_dev && stw_dev->callbacks.wglCbGetDhglrc) {
-         dhglrc = stw_dev->callbacks.wglCbGetDhglrc(context);
+      if (stw_dev && stw_dev->callbacks.pfnGetDhglrc) {
+         dhglrc = stw_dev->callbacks.pfnGetDhglrc(context);
          if (hShareContext)
-            share_dhglrc = stw_dev->callbacks.wglCbGetDhglrc(hShareContext);
+            share_dhglrc = stw_dev->callbacks.pfnGetDhglrc(hShareContext);
       }
       else {
          /* not using ICD */
@@ -203,9 +203,9 @@ wglMakeContextCurrentARB(HDC hDrawDC, HDC hReadDC, HGLRC hglrc)
 {
    DHGLRC dhglrc = 0;
 
-   if (stw_dev && stw_dev->callbacks.wglCbGetDhglrc) {
+   if (stw_dev && stw_dev->callbacks.pfnGetDhglrc) {
       /* Convert HGLRC to DHGLRC */
-      dhglrc = stw_dev->callbacks.wglCbGetDhglrc(hglrc);
+      dhglrc = stw_dev->callbacks.pfnGetDhglrc(hglrc);
    }
 
    return stw_make_current(hDrawDC, hReadDC, dhglrc);
index 5503102bc98a571c08689c30d176de148a96aa3d..48b2b1f61a493f990693738e053c5d17f2554df2 100644 (file)
@@ -37,7 +37,7 @@
 #include "pipe/p_screen.h"
 #include "pipe/p_state.h"
 
-#include "stw_icd.h"
+#include "gldrv.h"
 #include "stw_context.h"
 #include "stw_device.h"
 #include "stw_pixelformat.h"
index 3af69ab554eb8a61278b314c6e0f73887214865b..15d46dbb61eec5ae2498bbad5df2f52dd39118a9 100644 (file)
@@ -33,7 +33,8 @@
 #include "util/os_time.h"
 #include "state_tracker/st_api.h"
 
-#include "stw_icd.h"
+#include <GL/gl.h>
+#include "gldrv.h"
 #include "stw_framebuffer.h"
 #include "stw_device.h"
 #include "stw_winsys.h"
@@ -485,7 +486,7 @@ stw_pixelformat_get(HDC hdc)
 
 
 BOOL APIENTRY
-DrvPresentBuffers(HDC hdc, PGLPRESENTBUFFERSDATA data)
+DrvPresentBuffers(HDC hdc, LPPRESENTBUFFERS data)
 {
    struct stw_framebuffer *fb;
    struct pipe_screen *screen;
@@ -500,17 +501,17 @@ DrvPresentBuffers(HDC hdc, PGLPRESENTBUFFERSDATA data)
 
    screen = stw_dev->screen;
 
-   res = (struct pipe_resource *)data->pPrivateData;
+   res = (struct pipe_resource *)data->pPrivData;
 
-   if (data->hSharedSurface != fb->hSharedSurface) {
+   if (data->hSurface != fb->hSharedSurface) {
       if (fb->shared_surface) {
          stw_dev->stw_winsys->shared_surface_close(screen, fb->shared_surface);
          fb->shared_surface = NULL;
       }
 
-      fb->hSharedSurface = data->hSharedSurface;
+      fb->hSharedSurface = data->hSurface;
 
-      if (data->hSharedSurface &&
+      if (data->hSurface &&
          stw_dev->stw_winsys->shared_surface_open) {
          fb->shared_surface =
             stw_dev->stw_winsys->shared_surface_open(screen,
@@ -524,7 +525,7 @@ DrvPresentBuffers(HDC hdc, PGLPRESENTBUFFERSDATA data)
                                       res,
                                       fb->shared_surface,
                                       &fb->client_rect,
-                                      data->PresentHistoryToken);
+                                      data->ullPresentToken);
       }
       else {
          stw_dev->stw_winsys->present( screen, res, hdc );
@@ -551,21 +552,21 @@ stw_framebuffer_present_locked(HDC hdc,
                                struct stw_framebuffer *fb,
                                struct pipe_resource *res)
 {
-   if (stw_dev->callbacks.wglCbPresentBuffers &&
+   if (stw_dev->callbacks.pfnPresentBuffers &&
       stw_dev->stw_winsys->compose) {
-      GLCBPRESENTBUFFERSDATA data;
+      PRESENTBUFFERSCB data;
 
       memset(&data, 0, sizeof data);
-      data.magic1 = 2;
-      data.magic2 = 0;
-      data.AdapterLuid = stw_dev->AdapterLuid;
-      data.rect = fb->client_rect;
-      data.pPrivateData = (void *)res;
+      data.nVersion = 2;
+      data.syncType = PRESCB_SYNCTYPE_NONE;
+      data.luidAdapter = stw_dev->AdapterLuid;
+      data.updateRect = fb->client_rect;
+      data.pPrivData = (void *)res;
 
       stw_notify_current_locked(fb);
       stw_framebuffer_unlock(fb);
 
-      return stw_dev->callbacks.wglCbPresentBuffers(hdc, &data);
+      return stw_dev->callbacks.pfnPresentBuffers(hdc, &data);
    }
    else {
       struct pipe_screen *screen = stw_dev->screen;
index c8138f61fa4c191f90beb96535520ca5a355ba79..f062cd38aed32d3eeb261cdacdc4f2ca8794a1e0 100644 (file)
@@ -34,7 +34,7 @@
 
 #include "glapi/glapi.h"
 #include "stw_device.h"
-#include "stw_icd.h"
+#include "gldrv.h"
 #include "stw_nopfuncs.h"
 
 #include "util/u_debug.h"
diff --git a/src/gallium/state_trackers/wgl/stw_icd.h b/src/gallium/state_trackers/wgl/stw_icd.h
deleted file mode 100644 (file)
index 9f386c9..0000000
+++ /dev/null
@@ -1,618 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2008-2009 Vmware, Inc.
- * All Rights Reserved.
- *
- * 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, sub license, 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 (including the
- * next paragraph) 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 NON-INFRINGEMENT.
- * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS 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.
- *
- **************************************************************************/
-
-/**
- * @file
- *
- * This header defines the interface used by the system's opengl32.dll and the
- * Installable Client Driver (ICD).
- */
-
-#ifndef STW_ICD_H
-#define STW_ICD_H
-
-
-#include <windows.h>
-
-#include "GL/gl.h"
-
-
-typedef ULONG DHGLRC;
-
-#define OPENGL_VERSION_110_ENTRIES  336
-
-struct __GLdispatchTableRec
-{
-   void (GLAPIENTRY * NewList)(GLuint, GLenum);
-   void (GLAPIENTRY * EndList)(void);
-   void (GLAPIENTRY * CallList)(GLuint);
-   void (GLAPIENTRY * CallLists)(GLsizei, GLenum, const GLvoid *);
-   void (GLAPIENTRY * DeleteLists)(GLuint, GLsizei);
-   GLuint (GLAPIENTRY * GenLists)(GLsizei);
-   void (GLAPIENTRY * ListBase)(GLuint);
-   void (GLAPIENTRY * Begin)(GLenum);
-   void (GLAPIENTRY * Bitmap)(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *);
-   void (GLAPIENTRY * Color3b)(GLbyte, GLbyte, GLbyte);
-   void (GLAPIENTRY * Color3bv)(const GLbyte *);
-   void (GLAPIENTRY * Color3d)(GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Color3dv)(const GLdouble *);
-   void (GLAPIENTRY * Color3f)(GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Color3fv)(const GLfloat *);
-   void (GLAPIENTRY * Color3i)(GLint, GLint, GLint);
-   void (GLAPIENTRY * Color3iv)(const GLint *);
-   void (GLAPIENTRY * Color3s)(GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * Color3sv)(const GLshort *);
-   void (GLAPIENTRY * Color3ub)(GLubyte, GLubyte, GLubyte);
-   void (GLAPIENTRY * Color3ubv)(const GLubyte *);
-   void (GLAPIENTRY * Color3ui)(GLuint, GLuint, GLuint);
-   void (GLAPIENTRY * Color3uiv)(const GLuint *);
-   void (GLAPIENTRY * Color3us)(GLushort, GLushort, GLushort);
-   void (GLAPIENTRY * Color3usv)(const GLushort *);
-   void (GLAPIENTRY * Color4b)(GLbyte, GLbyte, GLbyte, GLbyte);
-   void (GLAPIENTRY * Color4bv)(const GLbyte *);
-   void (GLAPIENTRY * Color4d)(GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Color4dv)(const GLdouble *);
-   void (GLAPIENTRY * Color4f)(GLfloat, GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Color4fv)(const GLfloat *);
-   void (GLAPIENTRY * Color4i)(GLint, GLint, GLint, GLint);
-   void (GLAPIENTRY * Color4iv)(const GLint *);
-   void (GLAPIENTRY * Color4s)(GLshort, GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * Color4sv)(const GLshort *);
-   void (GLAPIENTRY * Color4ub)(GLubyte, GLubyte, GLubyte, GLubyte);
-   void (GLAPIENTRY * Color4ubv)(const GLubyte *);
-   void (GLAPIENTRY * Color4ui)(GLuint, GLuint, GLuint, GLuint);
-   void (GLAPIENTRY * Color4uiv)(const GLuint *);
-   void (GLAPIENTRY * Color4us)(GLushort, GLushort, GLushort, GLushort);
-   void (GLAPIENTRY * Color4usv)(const GLushort *);
-   void (GLAPIENTRY * EdgeFlag)(GLboolean);
-   void (GLAPIENTRY * EdgeFlagv)(const GLboolean *);
-   void (GLAPIENTRY * End)(void);
-   void (GLAPIENTRY * Indexd)(GLdouble);
-   void (GLAPIENTRY * Indexdv)(const GLdouble *);
-   void (GLAPIENTRY * Indexf)(GLfloat);
-   void (GLAPIENTRY * Indexfv)(const GLfloat *);
-   void (GLAPIENTRY * Indexi)(GLint);
-   void (GLAPIENTRY * Indexiv)(const GLint *);
-   void (GLAPIENTRY * Indexs)(GLshort);
-   void (GLAPIENTRY * Indexsv)(const GLshort *);
-   void (GLAPIENTRY * Normal3b)(GLbyte, GLbyte, GLbyte);
-   void (GLAPIENTRY * Normal3bv)(const GLbyte *);
-   void (GLAPIENTRY * Normal3d)(GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Normal3dv)(const GLdouble *);
-   void (GLAPIENTRY * Normal3f)(GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Normal3fv)(const GLfloat *);
-   void (GLAPIENTRY * Normal3i)(GLint, GLint, GLint);
-   void (GLAPIENTRY * Normal3iv)(const GLint *);
-   void (GLAPIENTRY * Normal3s)(GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * Normal3sv)(const GLshort *);
-   void (GLAPIENTRY * RasterPos2d)(GLdouble, GLdouble);
-   void (GLAPIENTRY * RasterPos2dv)(const GLdouble *);
-   void (GLAPIENTRY * RasterPos2f)(GLfloat, GLfloat);
-   void (GLAPIENTRY * RasterPos2fv)(const GLfloat *);
-   void (GLAPIENTRY * RasterPos2i)(GLint, GLint);
-   void (GLAPIENTRY * RasterPos2iv)(const GLint *);
-   void (GLAPIENTRY * RasterPos2s)(GLshort, GLshort);
-   void (GLAPIENTRY * RasterPos2sv)(const GLshort *);
-   void (GLAPIENTRY * RasterPos3d)(GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * RasterPos3dv)(const GLdouble *);
-   void (GLAPIENTRY * RasterPos3f)(GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * RasterPos3fv)(const GLfloat *);
-   void (GLAPIENTRY * RasterPos3i)(GLint, GLint, GLint);
-   void (GLAPIENTRY * RasterPos3iv)(const GLint *);
-   void (GLAPIENTRY * RasterPos3s)(GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * RasterPos3sv)(const GLshort *);
-   void (GLAPIENTRY * RasterPos4d)(GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * RasterPos4dv)(const GLdouble *);
-   void (GLAPIENTRY * RasterPos4f)(GLfloat, GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * RasterPos4fv)(const GLfloat *);
-   void (GLAPIENTRY * RasterPos4i)(GLint, GLint, GLint, GLint);
-   void (GLAPIENTRY * RasterPos4iv)(const GLint *);
-   void (GLAPIENTRY * RasterPos4s)(GLshort, GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * RasterPos4sv)(const GLshort *);
-   void (GLAPIENTRY * Rectd)(GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Rectdv)(const GLdouble *, const GLdouble *);
-   void (GLAPIENTRY * Rectf)(GLfloat, GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Rectfv)(const GLfloat *, const GLfloat *);
-   void (GLAPIENTRY * Recti)(GLint, GLint, GLint, GLint);
-   void (GLAPIENTRY * Rectiv)(const GLint *, const GLint *);
-   void (GLAPIENTRY * Rects)(GLshort, GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * Rectsv)(const GLshort *, const GLshort *);
-   void (GLAPIENTRY * TexCoord1d)(GLdouble);
-   void (GLAPIENTRY * TexCoord1dv)(const GLdouble *);
-   void (GLAPIENTRY * TexCoord1f)(GLfloat);
-   void (GLAPIENTRY * TexCoord1fv)(const GLfloat *);
-   void (GLAPIENTRY * TexCoord1i)(GLint);
-   void (GLAPIENTRY * TexCoord1iv)(const GLint *);
-   void (GLAPIENTRY * TexCoord1s)(GLshort);
-   void (GLAPIENTRY * TexCoord1sv)(const GLshort *);
-   void (GLAPIENTRY * TexCoord2d)(GLdouble, GLdouble);
-   void (GLAPIENTRY * TexCoord2dv)(const GLdouble *);
-   void (GLAPIENTRY * TexCoord2f)(GLfloat, GLfloat);
-   void (GLAPIENTRY * TexCoord2fv)(const GLfloat *);
-   void (GLAPIENTRY * TexCoord2i)(GLint, GLint);
-   void (GLAPIENTRY * TexCoord2iv)(const GLint *);
-   void (GLAPIENTRY * TexCoord2s)(GLshort, GLshort);
-   void (GLAPIENTRY * TexCoord2sv)(const GLshort *);
-   void (GLAPIENTRY * TexCoord3d)(GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * TexCoord3dv)(const GLdouble *);
-   void (GLAPIENTRY * TexCoord3f)(GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * TexCoord3fv)(const GLfloat *);
-   void (GLAPIENTRY * TexCoord3i)(GLint, GLint, GLint);
-   void (GLAPIENTRY * TexCoord3iv)(const GLint *);
-   void (GLAPIENTRY * TexCoord3s)(GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * TexCoord3sv)(const GLshort *);
-   void (GLAPIENTRY * TexCoord4d)(GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * TexCoord4dv)(const GLdouble *);
-   void (GLAPIENTRY * TexCoord4f)(GLfloat, GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * TexCoord4fv)(const GLfloat *);
-   void (GLAPIENTRY * TexCoord4i)(GLint, GLint, GLint, GLint);
-   void (GLAPIENTRY * TexCoord4iv)(const GLint *);
-   void (GLAPIENTRY * TexCoord4s)(GLshort, GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * TexCoord4sv)(const GLshort *);
-   void (GLAPIENTRY * Vertex2d)(GLdouble, GLdouble);
-   void (GLAPIENTRY * Vertex2dv)(const GLdouble *);
-   void (GLAPIENTRY * Vertex2f)(GLfloat, GLfloat);
-   void (GLAPIENTRY * Vertex2fv)(const GLfloat *);
-   void (GLAPIENTRY * Vertex2i)(GLint, GLint);
-   void (GLAPIENTRY * Vertex2iv)(const GLint *);
-   void (GLAPIENTRY * Vertex2s)(GLshort, GLshort);
-   void (GLAPIENTRY * Vertex2sv)(const GLshort *);
-   void (GLAPIENTRY * Vertex3d)(GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Vertex3dv)(const GLdouble *);
-   void (GLAPIENTRY * Vertex3f)(GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Vertex3fv)(const GLfloat *);
-   void (GLAPIENTRY * Vertex3i)(GLint, GLint, GLint);
-   void (GLAPIENTRY * Vertex3iv)(const GLint *);
-   void (GLAPIENTRY * Vertex3s)(GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * Vertex3sv)(const GLshort *);
-   void (GLAPIENTRY * Vertex4d)(GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Vertex4dv)(const GLdouble *);
-   void (GLAPIENTRY * Vertex4f)(GLfloat, GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Vertex4fv)(const GLfloat *);
-   void (GLAPIENTRY * Vertex4i)(GLint, GLint, GLint, GLint);
-   void (GLAPIENTRY * Vertex4iv)(const GLint *);
-   void (GLAPIENTRY * Vertex4s)(GLshort, GLshort, GLshort, GLshort);
-   void (GLAPIENTRY * Vertex4sv)(const GLshort *);
-   void (GLAPIENTRY * ClipPlane)(GLenum, const GLdouble *);
-   void (GLAPIENTRY * ColorMaterial)(GLenum, GLenum);
-   void (GLAPIENTRY * CullFace)(GLenum);
-   void (GLAPIENTRY * Fogf)(GLenum, GLfloat);
-   void (GLAPIENTRY * Fogfv)(GLenum, const GLfloat *);
-   void (GLAPIENTRY * Fogi)(GLenum, GLint);
-   void (GLAPIENTRY * Fogiv)(GLenum, const GLint *);
-   void (GLAPIENTRY * FrontFace)(GLenum);
-   void (GLAPIENTRY * Hint)(GLenum, GLenum);
-   void (GLAPIENTRY * Lightf)(GLenum, GLenum, GLfloat);
-   void (GLAPIENTRY * Lightfv)(GLenum, GLenum, const GLfloat *);
-   void (GLAPIENTRY * Lighti)(GLenum, GLenum, GLint);
-   void (GLAPIENTRY * Lightiv)(GLenum, GLenum, const GLint *);
-   void (GLAPIENTRY * LightModelf)(GLenum, GLfloat);
-   void (GLAPIENTRY * LightModelfv)(GLenum, const GLfloat *);
-   void (GLAPIENTRY * LightModeli)(GLenum, GLint);
-   void (GLAPIENTRY * LightModeliv)(GLenum, const GLint *);
-   void (GLAPIENTRY * LineStipple)(GLint, GLushort);
-   void (GLAPIENTRY * LineWidth)(GLfloat);
-   void (GLAPIENTRY * Materialf)(GLenum, GLenum, GLfloat);
-   void (GLAPIENTRY * Materialfv)(GLenum, GLenum, const GLfloat *);
-   void (GLAPIENTRY * Materiali)(GLenum, GLenum, GLint);
-   void (GLAPIENTRY * Materialiv)(GLenum, GLenum, const GLint *);
-   void (GLAPIENTRY * PointSize)(GLfloat);
-   void (GLAPIENTRY * PolygonMode)(GLenum, GLenum);
-   void (GLAPIENTRY * PolygonStipple)(const GLubyte *);
-   void (GLAPIENTRY * Scissor)(GLint, GLint, GLsizei, GLsizei);
-   void (GLAPIENTRY * ShadeModel)(GLenum);
-   void (GLAPIENTRY * TexParameterf)(GLenum, GLenum, GLfloat);
-   void (GLAPIENTRY * TexParameterfv)(GLenum, GLenum, const GLfloat *);
-   void (GLAPIENTRY * TexParameteri)(GLenum, GLenum, GLint);
-   void (GLAPIENTRY * TexParameteriv)(GLenum, GLenum, const GLint *);
-   void (GLAPIENTRY * TexImage1D)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-   void (GLAPIENTRY * TexImage2D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-   void (GLAPIENTRY * TexEnvf)(GLenum, GLenum, GLfloat);
-   void (GLAPIENTRY * TexEnvfv)(GLenum, GLenum, const GLfloat *);
-   void (GLAPIENTRY * TexEnvi)(GLenum, GLenum, GLint);
-   void (GLAPIENTRY * TexEnviv)(GLenum, GLenum, const GLint *);
-   void (GLAPIENTRY * TexGend)(GLenum, GLenum, GLdouble);
-   void (GLAPIENTRY * TexGendv)(GLenum, GLenum, const GLdouble *);
-   void (GLAPIENTRY * TexGenf)(GLenum, GLenum, GLfloat);
-   void (GLAPIENTRY * TexGenfv)(GLenum, GLenum, const GLfloat *);
-   void (GLAPIENTRY * TexGeni)(GLenum, GLenum, GLint);
-   void (GLAPIENTRY * TexGeniv)(GLenum, GLenum, const GLint *);
-   void (GLAPIENTRY * FeedbackBuffer)(GLsizei, GLenum, GLfloat *);
-   void (GLAPIENTRY * SelectBuffer)(GLsizei, GLuint *);
-   GLint (GLAPIENTRY * RenderMode)(GLenum);
-   void (GLAPIENTRY * InitNames)(void);
-   void (GLAPIENTRY * LoadName)(GLuint);
-   void (GLAPIENTRY * PassThrough)(GLfloat);
-   void (GLAPIENTRY * PopName)(void);
-   void (GLAPIENTRY * PushName)(GLuint);
-   void (GLAPIENTRY * DrawBuffer)(GLenum);
-   void (GLAPIENTRY * Clear)(GLbitfield);
-   void (GLAPIENTRY * ClearAccum)(GLfloat, GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * ClearIndex)(GLfloat);
-   void (GLAPIENTRY * ClearColor)(GLclampf, GLclampf, GLclampf, GLclampf);
-   void (GLAPIENTRY * ClearStencil)(GLint);
-   void (GLAPIENTRY * ClearDepth)(GLclampd);
-   void (GLAPIENTRY * StencilMask)(GLuint);
-   void (GLAPIENTRY * ColorMask)(GLboolean, GLboolean, GLboolean, GLboolean);
-   void (GLAPIENTRY * DepthMask)(GLboolean);
-   void (GLAPIENTRY * IndexMask)(GLuint);
-   void (GLAPIENTRY * Accum)(GLenum, GLfloat);
-   void (GLAPIENTRY * Disable)(GLenum);
-   void (GLAPIENTRY * Enable)(GLenum);
-   void (GLAPIENTRY * Finish)(void);
-   void (GLAPIENTRY * Flush)(void);
-   void (GLAPIENTRY * PopAttrib)(void);
-   void (GLAPIENTRY * PushAttrib)(GLbitfield);
-   void (GLAPIENTRY * Map1d)(GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
-   void (GLAPIENTRY * Map1f)(GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
-   void (GLAPIENTRY * Map2d)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
-   void (GLAPIENTRY * Map2f)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
-   void (GLAPIENTRY * MapGrid1d)(GLint, GLdouble, GLdouble);
-   void (GLAPIENTRY * MapGrid1f)(GLint, GLfloat, GLfloat);
-   void (GLAPIENTRY * MapGrid2d)(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble);
-   void (GLAPIENTRY * MapGrid2f)(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat);
-   void (GLAPIENTRY * EvalCoord1d)(GLdouble);
-   void (GLAPIENTRY * EvalCoord1dv)(const GLdouble *);
-   void (GLAPIENTRY * EvalCoord1f)(GLfloat);
-   void (GLAPIENTRY * EvalCoord1fv)(const GLfloat *);
-   void (GLAPIENTRY * EvalCoord2d)(GLdouble, GLdouble);
-   void (GLAPIENTRY * EvalCoord2dv)(const GLdouble *);
-   void (GLAPIENTRY * EvalCoord2f)(GLfloat, GLfloat);
-   void (GLAPIENTRY * EvalCoord2fv)(const GLfloat *);
-   void (GLAPIENTRY * EvalMesh1)(GLenum, GLint, GLint);
-   void (GLAPIENTRY * EvalPoint1)(GLint);
-   void (GLAPIENTRY * EvalMesh2)(GLenum, GLint, GLint, GLint, GLint);
-   void (GLAPIENTRY * EvalPoint2)(GLint, GLint);
-   void (GLAPIENTRY * AlphaFunc)(GLenum, GLclampf);
-   void (GLAPIENTRY * BlendFunc)(GLenum, GLenum);
-   void (GLAPIENTRY * LogicOp)(GLenum);
-   void (GLAPIENTRY * StencilFunc)(GLenum, GLint, GLuint);
-   void (GLAPIENTRY * StencilOp)(GLenum, GLenum, GLenum);
-   void (GLAPIENTRY * DepthFunc)(GLenum);
-   void (GLAPIENTRY * PixelZoom)(GLfloat, GLfloat);
-   void (GLAPIENTRY * PixelTransferf)(GLenum, GLfloat);
-   void (GLAPIENTRY * PixelTransferi)(GLenum, GLint);
-   void (GLAPIENTRY * PixelStoref)(GLenum, GLfloat);
-   void (GLAPIENTRY * PixelStorei)(GLenum, GLint);
-   void (GLAPIENTRY * PixelMapfv)(GLenum, GLint, const GLfloat *);
-   void (GLAPIENTRY * PixelMapuiv)(GLenum, GLint, const GLuint *);
-   void (GLAPIENTRY * PixelMapusv)(GLenum, GLint, const GLushort *);
-   void (GLAPIENTRY * ReadBuffer)(GLenum);
-   void (GLAPIENTRY * CopyPixels)(GLint, GLint, GLsizei, GLsizei, GLenum);
-   void (GLAPIENTRY * ReadPixels)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *);
-   void (GLAPIENTRY * DrawPixels)(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-   void (GLAPIENTRY * GetBooleanv)(GLenum, GLboolean *);
-   void (GLAPIENTRY * GetClipPlane)(GLenum, GLdouble *);
-   void (GLAPIENTRY * GetDoublev)(GLenum, GLdouble *);
-   GLenum (GLAPIENTRY * GetError)(void);
-   void (GLAPIENTRY * GetFloatv)(GLenum, GLfloat *);
-   void (GLAPIENTRY * GetIntegerv)(GLenum, GLint *);
-   void (GLAPIENTRY * GetLightfv)(GLenum, GLenum, GLfloat *);
-   void (GLAPIENTRY * GetLightiv)(GLenum, GLenum, GLint *);
-   void (GLAPIENTRY * GetMapdv)(GLenum, GLenum, GLdouble *);
-   void (GLAPIENTRY * GetMapfv)(GLenum, GLenum, GLfloat *);
-   void (GLAPIENTRY * GetMapiv)(GLenum, GLenum, GLint *);
-   void (GLAPIENTRY * GetMaterialfv)(GLenum, GLenum, GLfloat *);
-   void (GLAPIENTRY * GetMaterialiv)(GLenum, GLenum, GLint *);
-   void (GLAPIENTRY * GetPixelMapfv)(GLenum, GLfloat *);
-   void (GLAPIENTRY * GetPixelMapuiv)(GLenum, GLuint *);
-   void (GLAPIENTRY * GetPixelMapusv)(GLenum, GLushort *);
-   void (GLAPIENTRY * GetPolygonStipple)(GLubyte *);
-   const GLubyte * (GLAPIENTRY * GetString)(GLenum);
-   void (GLAPIENTRY * GetTexEnvfv)(GLenum, GLenum, GLfloat *);
-   void (GLAPIENTRY * GetTexEnviv)(GLenum, GLenum, GLint *);
-   void (GLAPIENTRY * GetTexGendv)(GLenum, GLenum, GLdouble *);
-   void (GLAPIENTRY * GetTexGenfv)(GLenum, GLenum, GLfloat *);
-   void (GLAPIENTRY * GetTexGeniv)(GLenum, GLenum, GLint *);
-   void (GLAPIENTRY * GetTexImage)(GLenum, GLint, GLenum, GLenum, GLvoid *);
-   void (GLAPIENTRY * GetTexParameterfv)(GLenum, GLenum, GLfloat *);
-   void (GLAPIENTRY * GetTexParameteriv)(GLenum, GLenum, GLint *);
-   void (GLAPIENTRY * GetTexLevelParameterfv)(GLenum, GLint, GLenum, GLfloat *);
-   void (GLAPIENTRY * GetTexLevelParameteriv)(GLenum, GLint, GLenum, GLint *);
-   GLboolean (GLAPIENTRY * IsEnabled)(GLenum);
-   GLboolean (GLAPIENTRY * IsList)(GLuint);
-   void (GLAPIENTRY * DepthRange)(GLclampd, GLclampd);
-   void (GLAPIENTRY * Frustum)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * LoadIdentity)(void);
-   void (GLAPIENTRY * LoadMatrixf)(const GLfloat *);
-   void (GLAPIENTRY * LoadMatrixd)(const GLdouble *);
-   void (GLAPIENTRY * MatrixMode)(GLenum);
-   void (GLAPIENTRY * MultMatrixf)(const GLfloat *);
-   void (GLAPIENTRY * MultMatrixd)(const GLdouble *);
-   void (GLAPIENTRY * Ortho)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * PopMatrix)(void);
-   void (GLAPIENTRY * PushMatrix)(void);
-   void (GLAPIENTRY * Rotated)(GLdouble, GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Rotatef)(GLfloat, GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Scaled)(GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Scalef)(GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Translated)(GLdouble, GLdouble, GLdouble);
-   void (GLAPIENTRY * Translatef)(GLfloat, GLfloat, GLfloat);
-   void (GLAPIENTRY * Viewport)(GLint, GLint, GLsizei, GLsizei);
-   void (GLAPIENTRY * ArrayElement)(GLint);
-   void (GLAPIENTRY * BindTexture)(GLenum, GLuint);
-   void (GLAPIENTRY * ColorPointer)(GLint, GLenum, GLsizei, const GLvoid *);
-   void (GLAPIENTRY * DisableClientState)(GLenum);
-   void (GLAPIENTRY * DrawArrays)(GLenum, GLint, GLsizei);
-   void (GLAPIENTRY * DrawElements)(GLenum, GLsizei, GLenum, const GLvoid *);
-   void (GLAPIENTRY * EdgeFlagPointer)(GLsizei, const GLvoid *);
-   void (GLAPIENTRY * EnableClientState)(GLenum);
-   void (GLAPIENTRY * IndexPointer)(GLenum, GLsizei, const GLvoid *);
-   void (GLAPIENTRY * Indexub)(GLubyte);
-   void (GLAPIENTRY * Indexubv)(const GLubyte *);
-   void (GLAPIENTRY * InterleavedArrays)(GLenum, GLsizei, const GLvoid *);
-   void (GLAPIENTRY * NormalPointer)(GLenum, GLsizei, const GLvoid *);
-   void (GLAPIENTRY * PolygonOffset)(GLfloat, GLfloat);
-   void (GLAPIENTRY * TexCoordPointer)(GLint, GLenum, GLsizei, const GLvoid *);
-   void (GLAPIENTRY * VertexPointer)(GLint, GLenum, GLsizei, const GLvoid *);
-   GLboolean (GLAPIENTRY * AreTexturesResident)(GLsizei, const GLuint *, GLboolean *);
-   void (GLAPIENTRY * CopyTexImage1D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
-   void (GLAPIENTRY * CopyTexImage2D)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
-   void (GLAPIENTRY * CopyTexSubImage1D)(GLenum, GLint, GLint, GLint, GLint, GLsizei);
-   void (GLAPIENTRY * CopyTexSubImage2D)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-   void (GLAPIENTRY * DeleteTextures)(GLsizei, const GLuint *);
-   void (GLAPIENTRY * GenTextures)(GLsizei, GLuint *);
-   void (GLAPIENTRY * GetPointerv)(GLenum, GLvoid **);
-   GLboolean (GLAPIENTRY * IsTexture)(GLuint);
-   void (GLAPIENTRY * PrioritizeTextures)(GLsizei, const GLuint *, const GLclampf *);
-   void (GLAPIENTRY * TexSubImage1D)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
-   void (GLAPIENTRY * TexSubImage2D)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-   void (GLAPIENTRY * PopClientAttrib)(void);
-   void (GLAPIENTRY * PushClientAttrib)(GLbitfield);
-};
-
-typedef struct __GLdispatchTableRec GLDISPATCHTABLE;
-
-typedef struct _GLCLTPROCTABLE
-{
-   int cEntries;
-   GLDISPATCHTABLE glDispatchTable;
-} GLCLTPROCTABLE, * PGLCLTPROCTABLE;
-
-typedef VOID (APIENTRY * PFN_SETPROCTABLE)(PGLCLTPROCTABLE);
-
-/**
- * Presentation data passed to opengl32!wglCbPresentBuffers.
- *
- * Pure software drivers don't need to worry about this -- if they stick to the
- * GDI API then will integrate with the Desktop Window Manager (DWM) without
- * problems. Hardware drivers, however, cannot present directly to the primary
- * surface while the DWM is active, as DWM gets exclusive access to the primary
- * surface.
- *
- * Proper DWM integration requires:
- * - advertise the PFD_SUPPORT_COMPOSITION flag
- * - redirect glFlush/glfinish/wglSwapBuffers into a surface shared with the
- * DWM process.
- *
- * @sa http://www.opengl.org/pipeline/article/vol003_7/
- * @sa http://blogs.msdn.com/greg_schechter/archive/2006/05/02/588934.aspx
- */
-typedef struct _GLCBPRESENTBUFFERSDATA
-{
-   /**
-    * wglCbPresentBuffers enforces this to be 2.
-    */
-   DWORD magic1;
-
-   /**
-    * wglCbPresentBuffers enforces to be 0 or 1, but it is most commonly
-    * set to 0.
-    */
-   DWORD magic2;
-
-   /**
-    * Locally unique identifier (LUID) of the graphics adapter.
-    *
-    * This should contain the value returned by D3DKMTOpenAdapterFromHdc. It
-    * is passed to dwmapi!DwmpDxGetWindowSharedSurface in order to obtain
-    * the shared surface handle for the bound drawable (window).
-    *
-    * @sa http://msdn.microsoft.com/en-us/library/ms799177.aspx
-    */
-   LUID AdapterLuid;
-
-   /**
-    * This is passed unmodified to DrvPresentBuffers
-    */
-   LPVOID pPrivateData;
-
-   /**
-    * Client area rectangle to update, relative to the window upper-left corner.
-    */
-   RECT rect;
-} GLCBPRESENTBUFFERSDATA, *PGLCBPRESENTBUFFERSDATA;
-
-/**
- * Callbacks supplied to DrvSetCallbackProcs by the OpenGL runtime.
- *
- * Pointers to several callback functions in opengl32.dll.
- */
-typedef struct _GLCALLBACKTABLE
-{
-   /**
-    * Set per-thread driver private data.
-    *
-    * Unused.
-    **/
-   void (APIENTRY *wglCbSetCurrentValue)(void *pvData);
-
-   /**
-    * Get per-thread private data.
-    *
-    * Unused.
-    */
-   void * (APIENTRY *wglCbGetCurrentValue)(void);
-
-   /**
-    * Get the ICD GHGLRC handle corresponding to the specified hglrc handle.
-    *
-    * Currently unused.
-    */
-   DHGLRC (APIENTRY *wglCbGetDhglrc)(HGLRC hglrc);
-
-   /** Unused */
-   PROC wglCbGetDdHandle;
-
-   /**
-    * Queue a present composition.
-    *
-    * Makes the runtime call DrvPresentBuffers with the composition information.
-    */
-   BOOL (APIENTRY *wglCbPresentBuffers)(HDC hdc, PGLCBPRESENTBUFFERSDATA data);
-
-} GLCALLBACKTABLE;
-
-typedef struct _GLPRESENTBUFFERSDATA
-{
-   /**
-    * The shared surface handle.
-    *
-    * Return by dwmapi!DwmpDxGetWindowSharedSurface.
-    *
-    * @sa http://channel9.msdn.com/forums/TechOff/251261-Help-Getting-the-shared-window-texture-out-of-DWM-/
-    */
-   HANDLE hSharedSurface;
-
-   LUID AdapterLuid;
-
-   /**
-    * Present history token.
-    *
-    * This is returned by dwmapi!DwmpDxGetWindowSharedSurface and
-    * should be passed to D3DKMTRender in D3DKMT_RENDER::PresentHistoryToken.
-    *
-    * @sa http://msdn.microsoft.com/en-us/library/ms799176.aspx
-    */
-   ULONGLONG PresentHistoryToken;
-
-   /** Same as GLCBPRESENTBUFFERSDATA::pPrivateData */
-   LPVOID pPrivateData;
-} GLPRESENTBUFFERSDATA, *PGLPRESENTBUFFERSDATA;
-
-BOOL APIENTRY
-DrvCopyContext(
-   DHGLRC dhrcSource,
-   DHGLRC dhrcDest,
-   UINT fuMask );
-
-DHGLRC APIENTRY
-DrvCreateLayerContext(
-   HDC hdc,
-   INT iLayerPlane );
-
-DHGLRC APIENTRY
-DrvCreateContext(
-   HDC hdc );
-
-BOOL APIENTRY
-DrvDeleteContext(
-   DHGLRC dhglrc );
-
-BOOL APIENTRY
-DrvDescribeLayerPlane(
-   HDC hdc,
-   INT iPixelFormat,
-   INT iLayerPlane,
-   UINT nBytes,
-   LPLAYERPLANEDESCRIPTOR plpd );
-
-LONG APIENTRY
-DrvDescribePixelFormat(
-   HDC hdc,
-   INT iPixelFormat,
-   ULONG cjpfd,
-   PIXELFORMATDESCRIPTOR *ppfd );
-
-int APIENTRY
-DrvGetLayerPaletteEntries(
-   HDC hdc,
-   INT iLayerPlane,
-   INT iStart,
-   INT cEntries,
-   COLORREF *pcr );
-
-PROC APIENTRY
-DrvGetProcAddress(
-   LPCSTR lpszProc );
-
-BOOL APIENTRY
-DrvPresentBuffers(HDC hdc, PGLPRESENTBUFFERSDATA data);
-
-BOOL APIENTRY
-DrvRealizeLayerPalette(
-   HDC hdc,
-   INT iLayerPlane,
-   BOOL bRealize );
-
-BOOL APIENTRY
-DrvReleaseContext(
-   DHGLRC dhglrc );
-
-void APIENTRY
-DrvSetCallbackProcs(
-   INT nProcs,
-   PROC *pProcs );
-
-PGLCLTPROCTABLE APIENTRY
-DrvSetContext(
-   HDC hdc,
-   DHGLRC dhglrc,
-   PFN_SETPROCTABLE pfnSetProcTable );
-
-int APIENTRY
-DrvSetLayerPaletteEntries(
-   HDC hdc,
-   INT iLayerPlane,
-   INT iStart,
-   INT cEntries,
-   CONST COLORREF *pcr );
-
-BOOL APIENTRY
-DrvSetPixelFormat(
-   HDC hdc,
-   LONG iPixelFormat );
-
-BOOL APIENTRY
-DrvShareLists(
-   DHGLRC dhglrc1,
-   DHGLRC dhglrc2 );
-
-BOOL APIENTRY
-DrvSwapBuffers(
-   HDC hdc );
-
-BOOL APIENTRY
-DrvSwapLayerBuffers(
-   HDC hdc,
-   UINT fuPlanes );
-
-BOOL APIENTRY
-DrvValidateVersion(
-   ULONG ulVersion );
-
-#endif /* STW_ICD_H */
index 3ad5dd21714f97977ccd434aead39bb57de7fe85..fe54e26845d7175cf2e74e00497ab79df9bb2510 100644 (file)
@@ -33,7 +33,8 @@
 #include "util/u_debug.h"
 #include "util/u_memory.h"
 
-#include "stw_icd.h"
+#include <GL/gl.h>
+#include "gldrv.h"
 #include "stw_device.h"
 #include "stw_pixelformat.h"
 #include "stw_tls.h"
index 846069f56b911057e8263b9e869ae68885e432a0..443158271128669106a509e86efcd6afd25dfb8c 100644 (file)
  */
 
 #include <windows.h>
+#include <GL/gl.h>
 
 #include "util/u_debug.h"
-#include "stw_icd.h"
+#include "gldrv.h"
 #include "stw_context.h"
 #include "stw_pixelformat.h"
 #include "stw_wgl.h"