nv50,nvc0: clear index buffer bufctx bin unconditionally

The previous condition was to clear it out if it had previously been
set, not what's in the current draw. That information is gone now, so
just clear it unconditionally.

Fixes: 330d0607e ("gallium: remove pipe_index_buffer and set_index_buffer")
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Ilia Mirkin
2017-05-20 04:18:20 -04:00
parent 85d2186326
commit 61d8f3387d
2 changed files with 3 additions and 5 deletions
+2 -3
View File
@@ -770,10 +770,9 @@ nv50_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
bool tex_dirty = false;
int s;
if (info->index_size && !info->has_user_indices) {
nouveau_bufctx_reset(nv50->bufctx_3d, NV50_BIND_3D_INDEX);
nouveau_bufctx_reset(nv50->bufctx_3d, NV50_BIND_3D_INDEX);
if (info->index_size && !info->has_user_indices)
BCTX_REFN(nv50->bufctx_3d, 3D_INDEX, nv04_resource(info->index.resource), RD);
}
/* NOTE: caller must ensure that (min_index + index_bias) is >= 0 */
nv50->vb_elt_first = info->min_index + info->index_bias;
+1 -2
View File
@@ -921,8 +921,7 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info)
struct nvc0_screen *screen = nvc0->screen;
int s;
if (info->index_size)
nouveau_bufctx_reset(nvc0->bufctx_3d, NVC0_BIND_3D_IDX);
nouveau_bufctx_reset(nvc0->bufctx_3d, NVC0_BIND_3D_IDX);
/* NOTE: caller must ensure that (min_index + index_bias) is >= 0 */
nvc0->vb_elt_first = info->min_index + info->index_bias;