summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2013-04-25 14:41:36 -0700
committerEric Anholt <[email protected]>2013-04-29 11:41:34 -0700
commitde7e8b1d014aaecf87c2b26e8ab7e89266d5e176 (patch)
treeb8b113a1cce32f8bafe01518966839b601c6688a
parent73bc6061f5c3b6a3bb7a8114bb2e1ab77d23cfdb (diff)
intel: Be more conservative in disabling tiling to save memory.
Improves GLB2.7 trex performance 1.01985% +/- 0.721366% on my IVB (n=10) and by 3.38771% +/- 0.584241% (n=15) on my HSW, due to a 32x32 ARGB8888 cubemap going from untiled to tiled. Reviewed-by: Daniel Vetter <[email protected]>
-rw-r--r--src/mesa/drivers/dri/intel/intel_mipmap_tree.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index f70228cdb04..d05eb713d8b 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -346,11 +346,13 @@ intel_miptree_choose_tiling(struct intel_context *intel,
base_format == GL_DEPTH_STENCIL_EXT))
return I915_TILING_Y;
- /* If the width is smaller than a tile, don't bother tiling. */
- if (width0 < 64)
+ int minimum_pitch = mt->total_width * mt->cpp;
+
+ /* If the width is much smaller than a tile, don't bother tiling. */
+ if (minimum_pitch < 64)
return I915_TILING_NONE;
- if (ALIGN(mt->total_width * mt->cpp, 512) >= 32768) {
+ if (ALIGN(minimum_pitch, 512) >= 32768) {
perf_debug("%dx%d miptree too large to blit, falling back to untiled",
mt->total_width, mt->total_height);
return I915_TILING_NONE;