summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStéphane Marchesin <[email protected]>2013-05-04 14:06:12 -0700
committerStéphane Marchesin <[email protected]>2013-05-08 02:07:00 -0700
commit38d2a16c0113b905c46804695c4fafd1b5865d08 (patch)
tree55390a479c6a7a2353e81e89f85dd30f9dc0f70b
parentfc24c7aedeff6639e9438dbe7b91ca3775511223 (diff)
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.
-rw-r--r--src/gallium/drivers/i915/i915_resource_texture.c9
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 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;
}