From: Eric Anholt Date: Wed, 22 Jul 2015 19:14:40 +0000 (-0700) Subject: vc4: Add support for ARB_draw_elements_base_vertex. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7850774f2118ae87c7e6a4f6c17751e405edfb34;p=mesa.git vc4: Add support for ARB_draw_elements_base_vertex. Gallium exposes it unconditionally, so do our best to support it. It fails on the negative index cases, but those seem unlikely to be used in the wild. --- diff --git a/src/gallium/drivers/vc4/vc4_draw.c b/src/gallium/drivers/vc4/vc4_draw.c index fc3c2321abb..1c7f3b16be3 100644 --- a/src/gallium/drivers/vc4/vc4_draw.c +++ b/src/gallium/drivers/vc4/vc4_draw.c @@ -201,7 +201,9 @@ vc4_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info) struct pipe_vertex_buffer *vb = &vertexbuf->vb[elem->vertex_buffer_index]; struct vc4_resource *rsc = vc4_resource(vb->buffer); - uint32_t offset = vb->buffer_offset + elem->src_offset; + uint32_t offset = (vb->buffer_offset + + elem->src_offset + + vb->stride * info->index_bias); uint32_t vb_size = rsc->bo->size - offset; uint32_t elem_size = util_format_get_blocksize(elem->src_format);