mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 11:48:06 +02:00
vc4: Sanity check that flushes don't happen between state emit and draw.
Catches the cause of failure in arb_vertex_buffer_object-mixed-immediate-and-vbo, I've had this class of failure before, and it probably won't be the last time.
This commit is contained in:
parent
56b14adf85
commit
9e8a8b0c8b
1 changed files with 7 additions and 0 deletions
|
|
@ -296,6 +296,7 @@ vc4_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||
vc4_start_draw(vc4, info->count);
|
||||
vc4_update_compiled_shaders(vc4, info->mode);
|
||||
|
||||
uint32_t start_draw_calls_queued = vc4->draw_calls_queued;
|
||||
vc4_emit_state(pctx);
|
||||
|
||||
if ((vc4->dirty & (VC4_DIRTY_VTXBUF |
|
||||
|
|
@ -425,6 +426,12 @@ vc4_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
|
|||
}
|
||||
cl_end(&vc4->bcl, bcl);
|
||||
|
||||
/* No flushes of the job should have happened between when we started
|
||||
* emitting state for our draw and when we just emitted our draw's
|
||||
* primitives.
|
||||
*/
|
||||
assert(start_draw_calls_queued == vc4->draw_calls_queued);
|
||||
|
||||
if (vc4->zsa && vc4->zsa->base.depth.enabled) {
|
||||
vc4->resolve |= PIPE_CLEAR_DEPTH;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue