[Mesa-dev] [PATCH 0/3] i965: Use intel_try_pbo_upload for sub updates and 3D textures

Kristian Høgsberg krh at bitplanet.net
Mon Dec 22 19:43:11 PST 2014


On Mon, Dec 22, 2014 at 3:20 PM, Chris Forbes <chrisf at ijw.co.nz> wrote:
> Are there some performance numbers to go with this?

Once of the synmark test cases (terrain) hits this path (pbo upload to
a 2d texture array) and the idea is that implementing this avoids the
MapTexture fallback paths.  The MapTexture paths often end up
stalling, doing extra copies or dirtying (setting write domain to cpu)
the entire texture even if we only update a part of one slice.

As is, the patch series doesn't help that case, since we fail to blit
into the texture because it's too big.  Bens blitter fix over here:

  http://cgit.freedesktop.org/~bwidawsk/mesa/log/?h=texture-array-opt

works around the limitation by treating each slice as a separate
texture and with that I get a 3% speedup on IVB for the mentioned test
case.  On BYT the speed up is much bigger, since we avoid setting the
write domain to cpu for the entire 2d array texture, which avoids
clflushing 142mb per batch.

I think it might be interesting to try to use meta for blitting
instead of the hw blitter. I have a feeling we lose performance in
synchronization between the two rings.

Kristian

> On Tue, Dec 23, 2014 at 12:08 PM, Neil Roberts <neil at linux.intel.com> wrote:
>> Here are some patches to make the i965 driver use the blit pipeline
>> for sub-texture updates and also for 3D textures and array textures
>> (including cube map arrays) when using PBOs. I've also posted some
>> patches to update the texsubimage test in Piglit to make sure these
>> codepaths are actually tested.
>>
>> http://cgit.freedesktop.org/piglit/commit/?id=5cfdc9d1d46fce9112845762
>> http://cgit.freedesktop.org/piglit/commit/?id=8433c118dfa6f03f615724d9
>> http://cgit.freedesktop.org/piglit/commit/?id=e4e88dfdb22be7b75150eae4
>> http://lists.freedesktop.org/archives/piglit/2014-December/013814.html
>> http://lists.freedesktop.org/archives/piglit/2014-December/013815.html
>> http://lists.freedesktop.org/archives/piglit/2014-December/013850.html
>>
>> I've tested the series with all tests on Piglit on Ivybridge and it
>> doesn't cause any regressions.
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list