summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/intel/intel_mipmap_tree.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index df70ccab2bc..8fcdb46bcbb 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -342,15 +342,17 @@ intel_miptree_choose_tiling(struct intel_context *intel,
base_format == GL_DEPTH_STENCIL_EXT))
return I915_TILING_Y;
- if (width0 >= 64) {
- if (ALIGN(mt->total_width * mt->cpp, 512) < 32768)
- return intel->gen >= 6 ? I915_TILING_Y : I915_TILING_X;
+ /* If the width is smaller than a tile, don't bother tiling. */
+ if (width0 < 64)
+ return I915_TILING_NONE;
+ if (ALIGN(mt->total_width * mt->cpp, 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;
}
- return I915_TILING_NONE;
+ return intel->gen >= 6 ? I915_TILING_Y : I915_TILING_X;
}
struct intel_mipmap_tree *