freedreno/a6xx: fix hang with large render target

It seems we do have some limits.  Similar to older gens, # of tiles per
pipe cannot be more than 32.  But I could not trigger any hangs with 16
or more tiles per pipe in either X or Y direction, so that limit does
not seem to apply.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6461>
This commit is contained in:
Rob Clark 2020-08-25 13:02:34 -07:00 committed by Marge Bot
parent 0f3c12c0ab
commit 39d00722b2

View file

@ -254,7 +254,8 @@ use_hw_binning(struct fd_batch *batch)
{
const struct fd_gmem_stateobj *gmem = batch->gmem_state;
// TODO figure out hw limits for binning
if ((gmem->maxpw * gmem->maxph) > 32)
return false;
return fd_binning_enabled && ((gmem->nbins_x * gmem->nbins_y) >= 2) &&
(batch->num_draws > 0);