vc4: Throttle outstanding rendering after submission.

Just make sure that after we've submitted, we get to at least 5
(global) submits ago before we go on to do more.  Prevents up to
seconds of lag with window movement in X with xcompmgr -c.  There may
be useful tuning to do in the future, but for now this gets us
usability.

Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 3fba517bdd)
This commit is contained in:
Eric Anholt 2016-01-26 10:34:42 -08:00 committed by Emil Velikov
parent 4865ab2b43
commit 03eb1716dd

View file

@ -250,6 +250,15 @@ vc4_job_submit(struct vc4_context *vc4)
}
}
if (vc4->last_emit_seqno - vc4->screen->finished_seqno > 5) {
if (!vc4_wait_seqno(vc4->screen,
vc4->last_emit_seqno - 5,
PIPE_TIMEOUT_INFINITE,
"job throttling")) {
fprintf(stderr, "Job throttling failed\n");
}
}
if (vc4_debug & VC4_DEBUG_ALWAYS_SYNC) {
if (!vc4_wait_seqno(vc4->screen, vc4->last_emit_seqno,
PIPE_TIMEOUT_INFINITE, "sync")) {