[Mesa-dev] [PATCH 01/14] i965: Don't tile 1D miptrees.
kenneth at whitecape.org
Fri Feb 6 17:03:41 PST 2015
On Saturday, February 07, 2015 02:46:31 AM Francisco Jerez wrote:
> 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!
I suppose that's fine, though frankly, trying to optimize a texture with
height 1 at all seems pretty unnecessary to me. I've never seen a 3D
texture with height 1 in the wild...
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: This is a digitally signed message part.
More information about the mesa-dev