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