Mesa (master): i915: Use Y tiling for textures

Stephane Marchesin marcheu at kemper.freedesktop.org
Wed May 8 08:03:42 UTC 2013


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

Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Sat May  4 14:06:12 2013 -0700

i915: Use Y tiling for textures

This basically reverts commit
2acc7193743199701f8f6d1877a59ece0ec4fa5b.

With the previous change, we're not batchbuffer limited any
longer. So we actually start seeing a performance difference
between X and Y tiling. X tiling is funny because it is
faster for screen-aligned quads but slower in games. So let's
use Y tiling which is 10% faster overall.

---

 src/gallium/drivers/i915/i915_resource_texture.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_resource_texture.c b/src/gallium/drivers/i915/i915_resource_texture.c
index d9f58c0..3d61794 100644
--- a/src/gallium/drivers/i915/i915_resource_texture.c
+++ b/src/gallium/drivers/i915/i915_resource_texture.c
@@ -181,8 +181,13 @@ i915_texture_tiling(struct i915_screen *is, struct i915_texture *tex)
    if (tex->b.b.target == PIPE_TEXTURE_1D)
       return I915_TILE_NONE;
 
-   /* Use X tiling for 2D, 3D and compressed textures */
-   return I915_TILE_X;
+   if (util_format_is_s3tc(tex->b.b.format))
+      return I915_TILE_X;
+
+   if (is->debug.use_blitter)
+      return I915_TILE_X;
+   else
+      return I915_TILE_Y;
 }
 
 




More information about the mesa-commit mailing list