From f8aaf0094dd23b5f94bbef5fd444861d286ddb36 Mon Sep 17 00:00:00 2001 From: Charmaine Lee Date: Tue, 26 Jan 2016 11:12:09 -0800 Subject: [PATCH] svga: Fix the index buffer rebind regression The index buffer handle saved in the hw_state structure could be invalid after the index buffer is destroyed. Instead of rebinding the index buffer using the saved index buffer handle, we will reset the index buffer handle in the hw_state structure to force resending of the index buffer. Fixes bug 1593320 Reviewed-by: Brian Paul Reviewed-by: Jose Fonseca --- src/gallium/drivers/svga/svga_draw.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/svga/svga_draw.c b/src/gallium/drivers/svga/svga_draw.c index 96f82381708..0b9ea889afa 100644 --- a/src/gallium/drivers/svga/svga_draw.c +++ b/src/gallium/drivers/svga/svga_draw.c @@ -464,13 +464,8 @@ draw_vgpu10(struct svga_hwtnl *hwtnl, if (ret != PIPE_OK) return ret; - /* Rebind index buffer */ - if (svga->state.hw_draw.ib) { - struct svga_winsys_context *swc = svga->swc; - ret = swc->resource_rebind(swc, svga->state.hw_draw.ib, NULL, SVGA_RELOC_READ); - if (ret != PIPE_OK) - return ret; - } + /* Force rebinding the index buffer when needed */ + svga->state.hw_draw.ib = NULL; } ret = validate_sampler_resources(svga); -- 2.30.2