[Mesa-dev] [PATCH 01/14] i965: Don't tile 1D miptrees.

Francisco Jerez currojerez at riseup.net
Fri Feb 6 16:46:31 PST 2015


Kenneth Graunke <kenneth at whitecape.org> writes:

> On Friday, February 06, 2015 07:23:15 PM Francisco Jerez wrote:
>> 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.
>> ---
>>  src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>> 
>> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
>> index 64752dd..311b204 100644
>> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
>> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
>> @@ -488,6 +488,10 @@ intel_miptree_choose_tiling(struct brw_context *brw,
>>         base_format == GL_DEPTH_STENCIL_EXT)
>>        return I915_TILING_Y;
>>  
>> +   if (mt->target == GL_TEXTURE_1D ||
>> +       mt->target == GL_TEXTURE_1D_ARRAY)
>> +      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. */
>> 
>
> What do you think about checking mt->logical_height0 == 1 instead?
> GLES doesn't have 1D textures, but people might use a 2D texture with
> height 1, and I think the same logic applies.
>
> I've also been thinking of trying to make core Mesa hide 1D textures and
> simply turn them into 2D textures with height = 1, so drivers don't have
> to deal with them.
>
> Either way, this seems like a good idea to me.

I guess that would work because the layer count of 1D array textures
ends up in logical_depth0 rather than logical_height0?  Sounds good to
me, but it would also have the side effect of not tiling "degenerate" 3D
textures with height=1 but depth>1, I guess we would still like to tile
those?  How about (mt->logical_height0 == 1 && (mt->logical_depth0 == 1 ||
mt->target != GL_TEXTURE_3D))?

Thanks Ken!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150207/1de245b8/attachment.sig>


More information about the mesa-dev mailing list