diff options
author | Brian Paul <[email protected]> | 2016-02-22 08:53:47 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2016-02-22 12:14:48 -0700 |
commit | 9de3b0273d4fc01f5fdb5e9c9301a42575694d88 (patch) | |
tree | 452e9096beffbabfea50ab7fe49549ba54a47942 /src | |
parent | 571bd9ac4280b0d3c10281e9899afb33bc67d589 (diff) |
svga: unbind index buffer when drawing non-indexed primitives
Silences a warning reported by the svga3d device.
v2: also null-out the index buffer pointer
Reviewed-by: Sinclair Yeh <[email protected]>
Reviewed-by: Charmaine Lee <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/svga/svga_draw.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/svga/svga_draw.c b/src/gallium/drivers/svga/svga_draw.c index 80526ed4d15..fe6cf71a6e5 100644 --- a/src/gallium/drivers/svga/svga_draw.c +++ b/src/gallium/drivers/svga/svga_draw.c @@ -590,6 +590,16 @@ draw_vgpu10(struct svga_hwtnl *hwtnl, } else { /* non-indexed drawing */ + if (svga->state.hw_draw.ib_format != SVGA3D_FORMAT_INVALID) { + /* Unbind previously bound index buffer */ + ret = SVGA3D_vgpu10_SetIndexBuffer(svga->swc, NULL, + SVGA3D_FORMAT_INVALID, 0); + if (ret != PIPE_OK) + return ret; + svga->state.hw_draw.ib_format = SVGA3D_FORMAT_INVALID; + svga->state.hw_draw.ib = NULL; + } + if (instance_count > 1) { ret = SVGA3D_vgpu10_DrawInstanced(svga->swc, vcount, |