Module: Mesa
Branch: master
Commit: 3394900dd33fbbe98a639e4e7945c0e6c2d9fc2b
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3394900dd33fbbe98a639e4e7945c0e6c2d9fc2b

Author: Rob Clark <robcl...@freedesktop.org>
Date:   Mon Jun  9 13:36:24 2014 -0400

freedreno: try for more squarish tile dimensions

Worth about ~0.5fps in xonotic, for example.

Signed-off-by: Rob Clark <robcl...@freedesktop.org>

---

 src/gallium/drivers/freedreno/freedreno_gmem.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.c 
b/src/gallium/drivers/freedreno/freedreno_gmem.c
index 861ebf5..661458f 100644
--- a/src/gallium/drivers/freedreno/freedreno_gmem.c
+++ b/src/gallium/drivers/freedreno/freedreno_gmem.c
@@ -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);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to