From: Icenowy Zheng Date: Tue, 22 Oct 2019 14:14:56 +0000 (+0800) Subject: lima: support indexed draw with bias X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8fa13db25163d36460d779dd4ea0ede19227cdbf;p=mesa.git lima: support indexed draw with bias When doing an indexed draw with index_bias set to a non-zero value (e.g. by glDrawElementsBaseVertex), the vertex buffer should be offseted by index_bias vertices. Add this offset when setting the vertex buffer address. Signed-off-by: Icenowy Zheng Reviewed-by: Vasily Khoruzhick --- diff --git a/src/gallium/drivers/lima/lima_draw.c b/src/gallium/drivers/lima/lima_draw.c index 9753343409e..a607e874601 100644 --- a/src/gallium/drivers/lima/lima_draw.c +++ b/src/gallium/drivers/lima/lima_draw.c @@ -1154,7 +1154,7 @@ lima_update_gp_attribute_info(struct lima_context *ctx, const struct pipe_draw_i lima_submit_add_bo(ctx->gp_submit, res->bo, LIMA_SUBMIT_BO_READ); - unsigned start = info->index_size ? ctx->min_index : info->start; + unsigned start = info->index_size ? (ctx->min_index + info->index_bias) : info->start; attribute[n++] = res->bo->va + pvb->buffer_offset + pve->src_offset + start * pvb->stride; attribute[n++] = (pvb->stride << 11) |