Daniel Vetter <dan...@ffwll.ch> writes: > On Thu, Apr 25, 2013 at 03:41:01PM -0700, Eric Anholt wrote: >> Improves GLB2.7 trex performance 1.01985% +/- 0.721366% on my IVB (n=10) >> and by 3.38771% +/- 0.584241% (n=15) on my HSW, due to a 32x32 ARGB8888 >> cubemap going from untiled to tiled. >> --- >> src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 8 +++++--- >> 1 file changed, 5 insertions(+), 3 deletions(-) >> >> diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c >> b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c >> index 98f1e98..12a4a22 100644 >> --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c >> +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c >> @@ -345,11 +345,13 @@ intel_miptree_choose_tiling(struct intel_context >> *intel, >> base_format == GL_DEPTH_STENCIL_EXT)) >> return I915_TILING_Y; >> >> - /* If the width is smaller than a tile, don't bother tiling. */ >> - if (width0 < 64) >> + int minimum_pitch = mt->total_width * mt->cpp; >> + >> + /* If the width is much smaller than a tile, don't bother tiling. */ >> + if (minimum_pitch < 64) >> return I915_TILING_NONE; > > The old limit made sense for X-tiled and dword-size pixels, so shouldn't > we move this around a bit and keep a break of 256b for X-tiled and 64b > when Y-tiling is possible? > > Otoh only pre-gen6 would care, so meh. Either way > > Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>
We need to get to Y-tiled on pre-gen6 anyway. I'm tempted to remove this fallback code entirely. The cost of going untiled is just too large -- in this patch I'm optimizing a 32x32 cubemap (a page per face) that's very infrequently used by the application, and still seeing this benefit. I think we'd be serving users better to just always allocate tiled -- the original cause of it was only about a 2x memory savings for a badly-written app (estimate: allocating 1MB instead of 2MB for what was only 128kb of actual texture data).
pgpReTBs4EI44.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev