i965: Don't tile 1D miptrees.

It doesn't really improve locality of texture fetches, quite the
opposite it's a waste of memory bandwidth and space due to tile
alignment.

v2: Check mt->logical_height0 instead of mt->target (Ken).  Add short
    comment explaining why they shouldn't be tiled.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
Francisco Jerez 2014-11-14 20:30:46 +02:00
parent b40bcd24e0
commit 36a17f0f99
1 changed files with 7 additions and 0 deletions

View File

@ -488,6 +488,13 @@ intel_miptree_choose_tiling(struct brw_context *brw,
base_format == GL_DEPTH_STENCIL_EXT)
return I915_TILING_Y;
/* 1D textures (and 1D array textures) don't get any benefit from tiling,
* in fact it leads to a less efficient use of memory space and bandwidth
* due to tile alignment.
*/
if (mt->logical_height0 == 1)
return I915_TILING_NONE;
int minimum_pitch = mt->total_width * mt->cpp;
/* If the width is much smaller than a tile, don't bother tiling. */