[Mesa-dev] [PATCH] meta: Compute correct buffer size with SkipRows/SkipPixels

Chris Wilson chris at chris-wilson.co.uk
Tue Sep 1 05:30:38 PDT 2015


On Tue, Sep 01, 2015 at 01:09:33PM +0100, Neil Roberts wrote:
> Good catch and it seems like a nice way to fix it.
> 
> Reviewed-by: Neil Roberts <neil at linux.intel.com>
> 
> I wonder if it might be worth avoiding copying the padding and pack the
> rows more tightly in the temporary buffer. Ie, we would allocate a
> buffer of align(width*cpp)*height*depth and copy the rows in one at a
> time instead of memcpying the whole buffer. As it stands for example if
> you are using the stride to make a 16x16 texture of a subregion of a
> 1024x1024 buffer we will pointlessly make a temporary buffer of 1024x16.
> I'm not saying we should hold up this fix for that though.

I've been half wondering about that as well. There seems to be a
deficit of good texture up/downloading benchmarks, that both stress
all pathways and reflect real world usage. For the latter, I wonder if
apitrace could be coaxed into service? (You need realistic GPU usage in
addition to texture transfers to answer questions such as blit vs stall.)
As for the former, we could just repurpose some of the API coverage
tests in piglit to serve as comprehensive micro-benchmarks.

I have a v2 of this patch because piglit tells me I can't just drop
full_height on the floor - as the teximage we create is meant to be
width x full_height x 1. Oops.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the mesa-dev mailing list