Stefan Dösinger : wined3d: Add GL_ARB_draw_elements_base_vertex.

Alexandre Julliard julliard at winehq.org
Tue Jun 14 11:57:47 CDT 2011


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Sat Jun 11 15:39:30 2011 +0200

wined3d: Add GL_ARB_draw_elements_base_vertex.

---

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

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 1dd2cba..34eea82 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -55,6 +55,7 @@ static const struct {
     {"GL_ARB_depth_clamp",                  ARB_DEPTH_CLAMP,                0                           },
     {"GL_ARB_depth_texture",                ARB_DEPTH_TEXTURE,              0                           },
     {"GL_ARB_draw_buffers",                 ARB_DRAW_BUFFERS,               0                           },
+    {"GL_ARB_draw_elements_base_vertex",    ARB_DRAW_ELEMENTS_BASE_VERTEX,  0                           },
     {"GL_ARB_fragment_program",             ARB_FRAGMENT_PROGRAM,           0                           },
     {"GL_ARB_fragment_shader",              ARB_FRAGMENT_SHADER,            0                           },
     {"GL_ARB_framebuffer_object",           ARB_FRAMEBUFFER_OBJECT,         0                           },
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index be50b2f..85e5fea 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -1738,6 +1738,7 @@ typedef enum wined3d_gl_extension
     ARB_DEPTH_CLAMP,
     ARB_DEPTH_TEXTURE,
     ARB_DRAW_BUFFERS,
+    ARB_DRAW_ELEMENTS_BASE_VERTEX,
     ARB_FRAGMENT_PROGRAM,
     ARB_FRAGMENT_SHADER,
     ARB_FRAMEBUFFER_OBJECT,
@@ -1965,6 +1966,19 @@ typedef void (WINE_GLAPI *PGLFNCLAMPCOLORARBPROC)(GLenum target, GLenum clamp);
 #endif
 typedef void (WINE_GLAPI *PGLFNDRAWBUFFERSARBPROC)(GLsizei n, const GLenum *bufs);
 
+/* GL_ARB_draw_elements_base_vertex */
+#ifndef GL_ARB_draw_elements_base_vertex
+#define GL_ARB_draw_elements_base_vertex 1
+typedef void (WINE_GLAPI *PGLFNDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type,
+        const GLvoid *indices, GLint basevertex);
+typedef void (WINE_GLAPI *PGLFNDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end,
+         GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
+typedef void (WINE_GLAPI *PGLFNDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count,
+         GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex);
+typedef void (WINE_GLAPI *PGLFNMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei *count, GLenum type,
+         const GLvoid **indices, GLsizei primcount, GLint *basevertex);
+#endif
+
 /* GL_ARB_fragment_program */
 #ifndef GL_ARB_fragment_program
 #define GL_ARB_fragment_program 1
@@ -3789,6 +3803,15 @@ typedef BOOL (WINAPI *WINED3D_PFNWGLSWAPINTERVALEXTPROC)(int interval);
     /* GL_ARB_draw_buffers */ \
     USE_GL_FUNC(PGLFNDRAWBUFFERSARBPROC, \
             glDrawBuffersARB,                           ARB_DRAW_BUFFERS,               NULL) \
+    /* GL_ARB_draw_elements_base_vertex */ \
+    USE_GL_FUNC(PGLFNDRAWELEMENTSBASEVERTEXPROC, \
+            glDrawElementsBaseVertex,                   ARB_DRAW_ELEMENTS_BASE_VERTEX,  NULL) \
+    USE_GL_FUNC(PGLFNDRAWRANGEELEMENTSBASEVERTEXPROC, \
+            glDrawRangeElementsBaseVertex,              ARB_DRAW_ELEMENTS_BASE_VERTEX,  NULL) \
+    USE_GL_FUNC(PGLFNDRAWELEMENTSINSTANCEDBASEVERTEXPROC, \
+            glDrawElementsInstancedBaseVertex,          ARB_DRAW_ELEMENTS_BASE_VERTEX,  NULL) \
+    USE_GL_FUNC(PGLFNMULTIDRAWELEMENTSBASEVERTEXPROC, \
+            glMultiDrawElementsBaseVertex,              ARB_DRAW_ELEMENTS_BASE_VERTEX,  NULL) \
     /* GL_ARB_framebuffer_object */ \
     USE_GL_FUNC(PGLFNGLISRENDERBUFFERPROC, \
             glIsRenderbuffer,                           ARB_FRAMEBUFFER_OBJECT,         NULL) \




More information about the wine-cvs mailing list