sna/gen3+: Reset vertex relocation state after discarding the batch
Fixes a regression from commit a6ecb6d31d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Jan 16 09:14:40 2013 +0000
sna: Discard the batch if we are discarding the only buffer in it
as we may keep a stale relocation for the vertex buffer alive if we
attempt to clear the bo using the render engine before discarding it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
492952e0d6
commit
650c9d5ce8
|
|
@ -1970,6 +1970,9 @@ gen3_render_reset(struct sna *sna)
|
|||
__FUNCTION__, sna->render.vbo->presumed_offset));
|
||||
discard_vbo(sna);
|
||||
}
|
||||
|
||||
sna->render.vertex_reloc[0] = 0;
|
||||
sna->render.vertex_offset = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -2789,6 +2789,10 @@ static void gen4_render_reset(struct sna *sna)
|
|||
DBG(("%s: discarding unmappable vbo\n", __FUNCTION__));
|
||||
discard_vbo(sna);
|
||||
}
|
||||
|
||||
sna->render.vertex_offset = 0;
|
||||
sna->render.nvertex_reloc = 0;
|
||||
sna->render.vb_id = 0;
|
||||
}
|
||||
|
||||
static void gen4_render_fini(struct sna *sna)
|
||||
|
|
|
|||
|
|
@ -2916,6 +2916,10 @@ static void gen5_render_reset(struct sna *sna)
|
|||
DBG(("%s: discarding unmappable vbo\n", __FUNCTION__));
|
||||
discard_vbo(sna);
|
||||
}
|
||||
|
||||
sna->render.vertex_offset = 0;
|
||||
sna->render.nvertex_reloc = 0;
|
||||
sna->render.vb_id = 0;
|
||||
}
|
||||
|
||||
static void gen5_render_fini(struct sna *sna)
|
||||
|
|
|
|||
|
|
@ -3424,6 +3424,10 @@ static void gen6_render_reset(struct sna *sna)
|
|||
sna->render_state.gen6.drawrect_offset = -1;
|
||||
sna->render_state.gen6.drawrect_limit = -1;
|
||||
sna->render_state.gen6.surface_table = -1;
|
||||
|
||||
sna->render.vertex_offset = 0;
|
||||
sna->render.nvertex_reloc = 0;
|
||||
sna->render.vb_id = 0;
|
||||
}
|
||||
|
||||
static void gen6_render_fini(struct sna *sna)
|
||||
|
|
|
|||
|
|
@ -3505,6 +3505,10 @@ static void gen7_render_reset(struct sna *sna)
|
|||
sna->render_state.gen7.drawrect_offset = -1;
|
||||
sna->render_state.gen7.drawrect_limit = -1;
|
||||
sna->render_state.gen7.surface_table = -1;
|
||||
|
||||
sna->render.vertex_offset = 0;
|
||||
sna->render.nvertex_reloc = 0;
|
||||
sna->render.vb_id = 0;
|
||||
}
|
||||
|
||||
static void gen7_render_fini(struct sna *sna)
|
||||
|
|
|
|||
Loading…
Reference in New Issue