From 38d2a16c0113b905c46804695c4fafd1b5865d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Marchesin?= Date: Sat, 4 May 2013 14:06:12 -0700 Subject: [PATCH] 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 file 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 d9f58c01ac1..3d6179495d2 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; }