diff options
author | marha <marha@users.sourceforge.net> | 2011-06-03 08:22:14 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-06-03 08:22:14 +0200 |
commit | 6aea3a7470dfb2c513378b82c27f0ad87afda7f3 (patch) | |
tree | cefb863bdf986b740d8f9475514df400a56ff003 /mesalib/src/mesa/vbo/vbo_exec_array.c | |
parent | 5e835037510a4ccf001fb8f0a9aed29a28072fec (diff) | |
parent | cda19b1d226d565f1ca4327aeae827c621b3dfd6 (diff) | |
download | vcxsrv-6aea3a7470dfb2c513378b82c27f0ad87afda7f3.tar.gz vcxsrv-6aea3a7470dfb2c513378b82c27f0ad87afda7f3.tar.bz2 vcxsrv-6aea3a7470dfb2c513378b82c27f0ad87afda7f3.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
mesalib/configs/linux-dri
mesalib/src/gallium/auxiliary/util/u_math.h
mesalib/src/mapi/glapi/gen/Makefile
mesalib/src/mapi/glapi/glapi_mapi_tmp.h
mesalib/src/mapi/glapi/glapi_sparc.S
mesalib/src/mapi/glapi/glapi_x86-64.S
mesalib/src/mapi/glapi/glapi_x86.S
mesalib/src/mapi/glapi/glapitable.h
mesalib/src/mapi/glapi/glapitemp.h
mesalib/src/mapi/glapi/glprocs.h
mesalib/src/mesa/drivers/dri/Makefile.template
mesalib/src/mesa/main/dd.h
mesalib/src/mesa/main/fbobject.c
mesalib/src/mesa/main/remap_helper.h
mesalib/src/mesa/main/shaderapi.c
mesalib/src/mesa/main/teximage.c
mesalib/src/mesa/main/uniforms.c
mesalib/src/mesa/state_tracker/st_format.c
mesalib/src/mesa/vbo/vbo_exec_array.c
xorg-server/configure.ac
xorg-server/dix/main.c
xorg-server/dix/window.c
xorg-server/hw/xquartz/GL/indirect.c
xorg-server/hw/xquartz/X11Application.m
xorg-server/hw/xquartz/darwin.c
xorg-server/hw/xquartz/darwin.h
xorg-server/hw/xquartz/mach-startup/Makefile.am
xorg-server/hw/xquartz/pbproxy/app-main.m
xorg-server/hw/xquartz/pbproxy/pbproxy.h
xorg-server/hw/xquartz/pbproxy/x-selection.m
xorg-server/hw/xquartz/xpr/xpr.h
xorg-server/hw/xquartz/xpr/xprEvent.c
xorg-server/hw/xquartz/xpr/xprScreen.c
xorg-server/include/privates.h
xorg-server/include/protocol-versions.h
xorg-server/test/Makefile.am
xorg-server/xfixes/cursor.c
xorg-server/xfixes/xfixes.c
xorg-server/xkeyboard-config/configure.in
xorg-server/xkeyboard-config/rules/base.extras.xml.in
xorg-server/xkeyboard-config/rules/base.xml.in
xorg-server/xkeyboard-config/symbols/de
xorg-server/xkeyboard-config/symbols/lk
xorg-server/xkeyboard-config/symbols/ru
Diffstat (limited to 'mesalib/src/mesa/vbo/vbo_exec_array.c')
-rw-r--r-- | mesalib/src/mesa/vbo/vbo_exec_array.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/mesalib/src/mesa/vbo/vbo_exec_array.c b/mesalib/src/mesa/vbo/vbo_exec_array.c index d06d0cc71..57dad66a8 100644 --- a/mesalib/src/mesa/vbo/vbo_exec_array.c +++ b/mesalib/src/mesa/vbo/vbo_exec_array.c @@ -1045,13 +1045,37 @@ vbo_exec_DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, _mesa_lookup_enum_by_nr(type), indices, numInstances);
if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices,
- numInstances))
+ numInstances, 0))
return;
vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
count, type, indices, 0, numInstances);
}
+/**
+ * Called by glDrawElementsInstancedBaseVertex() in immediate mode.
+ */
+static void GLAPIENTRY
+vbo_exec_DrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type,
+ const GLvoid *indices, GLsizei numInstances,
+ GLint basevertex)
+{
+ GET_CURRENT_CONTEXT(ctx);
+
+ if (MESA_VERBOSE & VERBOSE_DRAW)
+ _mesa_debug(ctx, "glDrawElementsInstancedBaseVertex(%s, %d, %s, %p, %d; %d)\n",
+ _mesa_lookup_enum_by_nr(mode), count,
+ _mesa_lookup_enum_by_nr(type), indices,
+ numInstances, basevertex);
+
+ if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices,
+ numInstances, basevertex))
+ return;
+
+ vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0,
+ count, type, indices, basevertex, numInstances);
+}
+
/**
* Inner support for both _mesa_MultiDrawElements() and
@@ -1260,6 +1284,7 @@ vbo_exec_array_init( struct vbo_exec_context *exec ) exec->vtxfmt.MultiDrawElementsBaseVertex = vbo_exec_MultiDrawElementsBaseVertex;
exec->vtxfmt.DrawArraysInstanced = vbo_exec_DrawArraysInstanced;
exec->vtxfmt.DrawElementsInstanced = vbo_exec_DrawElementsInstanced;
+ exec->vtxfmt.DrawElementsInstancedBaseVertex = vbo_exec_DrawElementsInstancedBaseVertex;
}
|