Mesa (mesa_7_7_branch): wgl: Implement wglSwapMultipleBuffers.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Sat Feb 13 15:38:12 UTC 2010
Module: Mesa
Branch: mesa_7_7_branch
Commit: 6bd6a15ab3b4a5975f21194b7da621ff6b3c45e6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6bd6a15ab3b4a5975f21194b7da621ff6b3c45e6
Author: José Fonseca <jfonseca at vmware.com>
Date: Sat Feb 13 15:09:46 2010 +0000
wgl: Implement wglSwapMultipleBuffers.
---
src/gallium/state_trackers/wgl/opengl32.def | 2 +-
src/gallium/state_trackers/wgl/opengl32.mingw.def | 2 +-
src/gallium/state_trackers/wgl/stw_wgl.c | 13 +++++++++++++
src/gallium/state_trackers/wgl/stw_wgl.h | 16 ++++++++++++++++
4 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/wgl/opengl32.def b/src/gallium/state_trackers/wgl/opengl32.def
index 5daa6dd..01a29d0 100644
--- a/src/gallium/state_trackers/wgl/opengl32.def
+++ b/src/gallium/state_trackers/wgl/opengl32.def
@@ -362,7 +362,7 @@ EXPORTS
wglShareLists
wglSwapBuffers
wglSwapLayerBuffers
-; wglSwapMultipleBuffers
+ wglSwapMultipleBuffers
wglUseFontBitmapsA
wglUseFontBitmapsW
wglUseFontOutlinesA
diff --git a/src/gallium/state_trackers/wgl/opengl32.mingw.def b/src/gallium/state_trackers/wgl/opengl32.mingw.def
index 6ebb31a..0bceee0 100644
--- a/src/gallium/state_trackers/wgl/opengl32.mingw.def
+++ b/src/gallium/state_trackers/wgl/opengl32.mingw.def
@@ -362,7 +362,7 @@ EXPORTS
wglShareLists = wglShareLists at 8
wglSwapBuffers = wglSwapBuffers at 4
wglSwapLayerBuffers = wglSwapLayerBuffers at 8
-; wglSwapMultipleBuffers = wglSwapMultipleBuffers at 8
+ wglSwapMultipleBuffers = wglSwapMultipleBuffers at 8
wglUseFontBitmapsA = wglUseFontBitmapsA at 16
wglUseFontBitmapsW = wglUseFontBitmapsW at 16
wglUseFontOutlinesA = wglUseFontOutlinesA at 32
diff --git a/src/gallium/state_trackers/wgl/stw_wgl.c b/src/gallium/state_trackers/wgl/stw_wgl.c
index bb199fd..5fbb7bf 100644
--- a/src/gallium/state_trackers/wgl/stw_wgl.c
+++ b/src/gallium/state_trackers/wgl/stw_wgl.c
@@ -97,6 +97,19 @@ wglSwapBuffers(
}
+WINGDIAPI DWORD WINAPI
+wglSwapMultipleBuffers(UINT n,
+ CONST WGLSWAP *ps)
+{
+ UINT i;
+
+ for (i =0; i < n; ++i)
+ wglSwapBuffers(ps->hdc);
+
+ return 0;
+}
+
+
WINGDIAPI BOOL APIENTRY
wglSwapLayerBuffers(
HDC hdc,
diff --git a/src/gallium/state_trackers/wgl/stw_wgl.h b/src/gallium/state_trackers/wgl/stw_wgl.h
index a981799..57baaf0 100644
--- a/src/gallium/state_trackers/wgl/stw_wgl.h
+++ b/src/gallium/state_trackers/wgl/stw_wgl.h
@@ -59,5 +59,21 @@ wglSetPixelFormat(HDC hdc,
int iPixelFormat,
CONST PIXELFORMATDESCRIPTOR *ppfd);
+#if defined(__MINGW32__) || (WINVER < 0x0500)
+
+typedef struct _WGLSWAP
+{
+ HDC hdc;
+ UINT uiFlags;
+} WGLSWAP;
+
+#define WGL_SWAPMULTIPLE_MAX 16
+
+WINGDIAPI DWORD WINAPI
+wglSwapMultipleBuffers(UINT n,
+ CONST WGLSWAP *ps);
+
+#endif
+
#endif /* STW_WGL_H_ */
More information about the mesa-commit
mailing list