diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index c5f9f1f..0af8b43 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -345,6 +345,14 @@ 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 I915_TILING_X; + + perf_debug("%dx%d miptree too large to blit, falling back to untiled", + mt->total_width, mt->total_height); + } + int minimum_pitch = mt->total_width * mt->cpp; /* If the width is much smaller than a tile, don't bother tiling. */