freedreno: try for more squarish tile dimensions

Worth about ~0.5fps in xonotic, for example.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
This commit is contained in:
Rob Clark
2014-06-09 13:36:24 -04:00
parent 6aeeb706d2
commit 3394900dd3
@@ -128,11 +128,17 @@ calculate_tiles(struct fd_context *ctx)
bin_w = align(width / nbins_x, 32);
}
/* then find a bin height that satisfies the memory constraints:
/* then find a bin width/height that satisfies the memory
* constraints:
*/
while ((bin_w * bin_h * cpp) > gmem_size) {
nbins_y++;
bin_h = align(height / nbins_y, 32);
if (bin_w > bin_h) {
nbins_x++;
bin_w = align(width / nbins_x, 32);
} else {
nbins_y++;
bin_h = align(height / nbins_y, 32);
}
}
DBG("using %d bins of size %dx%d", nbins_x*nbins_y, bin_w, bin_h);