Commit 6050d5bf authored by Rob Clark's avatar Rob Clark

freedreno/a3xx: fix hang w/ large render targets and small gmem

Possibly other gen's have a similar limit.  Fixes glmark2 -b shadow
with larger resolutions on devices with small gmem (for example,
fullscreen 1080p on 8x16/db410c).

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Rob Clark's avatarRob Clark <robdclark@gmail.com>
parent 4fadfbf1
......@@ -149,6 +149,9 @@ use_hw_binning(struct fd_batch *batch)
if (gmem->minx || gmem->miny)
return false;
if ((gmem->maxpw * gmem->maxph) > 32)
return false;
return fd_binning_enabled && ((gmem->nbins_x * gmem->nbins_y) > 2);
}
......
......@@ -219,6 +219,9 @@ calculate_tiles(struct fd_batch *batch)
div_round_up(nbins_x, tpp_x)) > 8)
tpp_x += 1;
gmem->maxpw = tpp_x;
gmem->maxph = tpp_y;
/* configure pipes: */
xoff = yoff = 0;
for (i = 0; i < ARRAY_SIZE(ctx->pipe); i++) {
......
......@@ -57,6 +57,7 @@ struct fd_gmem_stateobj {
uint16_t bin_w, nbins_x;
uint16_t minx, miny;
uint16_t width, height;
uint16_t maxpw, maxph; /* maximum pipe width/height */
};
struct fd_batch;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment