r600/sb: hit the scheduler with a big hammer to avoid lds splits.
authorDave Airlie <airlied@redhat.com>
Wed, 10 Jan 2018 04:38:07 +0000 (04:38 +0000)
committerDave Airlie <airlied@redhat.com>
Thu, 18 Jan 2018 03:37:56 +0000 (03:37 +0000)
commit71a50de4fcf8202b500d51916100e8e905de3c44
tree6bab86a8217069a5d3431b991bf29e2f5033cdd9
parent46549bd6b62f251c588bead63866721f7cf9ea1c
r600/sb: hit the scheduler with a big hammer to avoid lds splits.

This tries to avoid an lds queue read getting scheduled separately
from an lds ret read, the non-sb code uses the same style of hammer,
this isn't foolproof.

We can do better, but it's a bit tricky, as you have to scan ahead
and either schedule more lds oq moves and more lds reads and that
could lead to you running out of space anyways.

Acked-By: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/sb/sb_sched.cpp