[Mesa-dev] [PATCH] intel: Be more conservative in disabling tiling to save memory.
Eric Anholt
eric at anholt.net
Mon Apr 29 10:24:33 PDT 2013
Daniel Vetter <daniel at 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.vetter at 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).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130429/77051df5/attachment.pgp>
More information about the mesa-dev
mailing list