diff options
author | Eric Anholt <[email protected]> | 2015-07-22 12:14:40 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2015-07-27 22:48:20 -0700 |
commit | 7850774f2118ae87c7e6a4f6c17751e405edfb34 (patch) | |
tree | 7ef8157708e879373d1a7eade39c22a080edd154 | |
parent | 98a4b111fbb9e3ae45e907ddd4d2407e5ab669ec (diff) |
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.
-rw-r--r-- | src/gallium/drivers/vc4/vc4_draw.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); |