i965: Use Y-tiled blits to untile for cached mappings of miptrees.
authorEric Anholt <eric@anholt.net>
Mon, 6 May 2013 21:14:39 +0000 (14:14 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 7 May 2013 18:45:45 +0000 (11:45 -0700)
Fixes a regression in firefox's unaccelerated compositing path for WebGL
with the introduction of Y tiling.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64213
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/intel/intel_mipmap_tree.c

index 89702282576b8ff14cdac77b59ab7d6664ce92c3..7f4cb4acc2fb1a2132d564e3c3b417337b2e55ee 100644 (file)
@@ -1903,7 +1903,8 @@ intel_miptree_map_singlesample(struct intel_context *intel,
    else if (intel->has_llc &&
             !(mode & GL_MAP_WRITE_BIT) &&
             !mt->compressed &&
-            mt->region->tiling == I915_TILING_X &&
+            (mt->region->tiling == I915_TILING_X ||
+             (intel->gen >= 6 && mt->region->tiling == I915_TILING_Y)) &&
             mt->region->pitch < 32768) {
       intel_miptree_map_blit(intel, mt, map, level, slice);
    } else if (mt->region->tiling != I915_TILING_NONE &&