Stefan Dösinger : wined3d: Add GL_NV_fence defines and functions.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Mar 1 05:59:46 CST 2007


Module: wine
Branch: master
Commit: be8e9e17bc9bea82c1b79a27435f2abe652aa0b1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=be8e9e17bc9bea82c1b79a27435f2abe652aa0b1

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Thu Mar  1 01:00:09 2007 +0100

wined3d: Add GL_NV_fence defines and functions.

---

 dlls/wined3d/directx.c    |    2 ++
 include/wine/wined3d_gl.h |   24 ++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 577e0db..291ac5b 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -787,6 +787,8 @@ BOOL IWineD3DImpl_FillGLCaps(IWineD3D *iface, Display* display) {
                     gl_info->vs_nv_version = VS_VERSION_10;
                 TRACE_(d3d_caps)(" FOUND: NVIDIA (NV) Vertex Shader support - version=%02x\n", gl_info->vs_nv_version);
                 gl_info->supported[NV_VERTEX_PROGRAM] = TRUE;
+            } else if (strstr(ThisExtn, "GL_NV_fence")) {
+                gl_info->supported[NV_FENCE] = TRUE;
 
             /**
              * ATI
diff --git a/include/wine/wined3d_gl.h b/include/wine/wined3d_gl.h
index fcec035..3d3f22b 100644
--- a/include/wine/wined3d_gl.h
+++ b/include/wine/wined3d_gl.h
@@ -345,6 +345,7 @@ typedef void (APIENTRY * PGLFNGLWEIGHTPOINTERARB) (GLint size, GLenum type, GLsi
 #define GL_MAX_COLOR_ATTACHMENTS_EXT           0x8CDF
 #define GL_MAX_RENDERBUFFER_SIZE_EXT           0x84E8
 #define GL_INVALID_FRAMEBUFFER_OPERATION_EXT   0x0506
+
 #endif
 typedef GLboolean (APIENTRY * PGLFNGLISRENDERBUFFEREXTPROC)(GLuint renderbuffer);
 typedef void (APIENTRY * PGLFNGLBINDRENDERBUFFEREXTPROC)(GLenum target, GLuint renderbuffer);
@@ -1132,6 +1133,20 @@ typedef void (APIENTRY * PGLFNACTIVESTENCILFACEEXTPROC) (GLenum face);
 #endif
 typedef void (APIENTRY * PGLFNSTENCILOPSEPARATEATIPROC) (GLenum, GLenum, GLenum, GLenum);
 typedef void (APIENTRY * PGLFNSTENCILFUNCSEPARATEATIPROC) (GLenum, GLenum, GLint, GLuint);
+/* GL_NV_fence */
+#ifndef GL_NV_fence
+#define GL_ALL_COMPLETED_NV                 0x84F2
+#define GL_FENCE_STATUS_NV                  0x84F3
+#define GL_FENCE_CONDITION_NV               0x84F4
+#endif
+typedef void (APIENTRY * PGLFNGENFENCESNVPROC) (GLsizei, GLuint *);
+typedef void (APIENTRY * PGLFNDELETEFENCESNVPROC) (GLuint, const GLuint *);
+typedef void (APIENTRY * PGLFNSETFENCENVPROC) (GLuint, GLenum);
+typedef GLboolean (APIENTRY * PGLFNTESTFENCENVPROC) (GLuint);
+typedef void (APIENTRY * PGLFNFINISHFENCENVPROC) (GLuint);
+typedef GLboolean (APIENTRY * PGLFNISFENCENVPROC) (GLuint);
+typedef void (APIENTRY * PGLFNGETFENCEIVNVPROC) (GLuint, GLenum, GLint *);
+
 /* GL_VERSION_2_0 */
 #ifndef GL_VERSION_2_0
 #define GL_VERSION_2_0 1
@@ -1488,6 +1503,7 @@ typedef enum _GL_SupportedExt {
   NV_TEXTURE_SHADER2,
   NV_TEXTURE_SHADER3,
   NV_VERTEX_PROGRAM,
+  NV_FENCE,
   /* ATI */
   ATI_SEPARATE_STENCIL,
   ATI_TEXTURE_ENV_COMBINE3,
@@ -1684,6 +1700,14 @@ typedef enum _GL_SupportedExt {
     USE_GL_FUNC(PGLFNCOMBINERPARAMETERINVPROC,                  glCombinerParameteriNV); \
     USE_GL_FUNC(PGLFNCOMBINERPARAMETERIVNVPROC,                 glCombinerParameterivNV); \
     USE_GL_FUNC(PGLFNFINALCOMBINERINPUTNVPROC,                  glFinalCombinerInputNV); \
+    /* GL_NV_fence */ \
+    USE_GL_FUNC(PGLFNGENFENCESNVPROC,                           glGenFencesNV); \
+    USE_GL_FUNC(PGLFNDELETEFENCESNVPROC,                        glDeleteFencesNV); \
+    USE_GL_FUNC(PGLFNSETFENCENVPROC,                            glSetFenceNV); \
+    USE_GL_FUNC(PGLFNTESTFENCENVPROC,                           glTestFenceNV); \
+    USE_GL_FUNC(PGLFNFINISHFENCENVPROC,                         glFinishFenceNV); \
+    USE_GL_FUNC(PGLFNISFENCENVPROC,                             glIsFenceNV); \
+    USE_GL_FUNC(PGLFNGETFENCEIVNVPROC,                          glGetFenceivNV); \
 
 /* OpenGL 2.0 functions */
 #define GL2_FUNCS_GEN \




More information about the wine-cvs mailing list