From 5ed6627ceb82845a7b578419b3cd4168ad0106d3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 5 Jun 2010 19:32:29 +0200 Subject: [PATCH] st/mesa: implement and advertise GL_ARB_draw_elements_base_vertex Signed-off-by: Brian Paul --- src/mesa/state_tracker/st_draw.c | 7 ++++--- src/mesa/state_tracker/st_extensions.c | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 7fdaff4..5821da4 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -695,7 +695,8 @@ st_draw_vbo(GLcontext *ctx, unsigned prim = translate_prim(ctx, prims[i].mode); if (u_trim_pipe_prim(prims[i].mode, &vcount)) { - pipe->draw_range_elements(pipe, indexBuf, indexSize, 0, + pipe->draw_range_elements(pipe, indexBuf, indexSize, + prims[i].basevertex, min_index, max_index, prim, prims[i].start + indexOffset, vcount); } @@ -710,7 +711,7 @@ st_draw_vbo(GLcontext *ctx, if (prims[i].num_instances == 1) { pipe->draw_elements(pipe, indexBuf, indexSize, - 0, /* indexBias */ + prims[i].basevertex, prim, prims[i].start + indexOffset, vcount); @@ -718,7 +719,7 @@ st_draw_vbo(GLcontext *ctx, else { pipe->draw_elements_instanced(pipe, indexBuf, indexSize, - 0, /* indexBias */ + prims[i].basevertex, prim, prims[i].start + indexOffset, vcount, diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index c5326fe..d23ac0c 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -180,6 +180,7 @@ void st_init_extensions(struct st_context *st) * Extensions that are supported by all Gallium drivers: */ ctx->Extensions.ARB_copy_buffer = GL_TRUE; + ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE; ctx->Extensions.ARB_fragment_coord_conventions = GL_TRUE; ctx->Extensions.ARB_fragment_program = GL_TRUE; ctx->Extensions.ARB_map_buffer_range = GL_TRUE; -- 2.7.4