FYI, I think I'm going to drop most of the gallium part of this series and replace it by a pass over the resulting TGSI to look at which components of the arrays are actually being used.

Nicolai

On 09.08.2016 12:36, Nicolai Hähnle wrote:
Hi,

this series was originally motivated by fixing a VM fault and ended up
growing a bit larger :-)

The goal of patches 1-7 is to change st/mesa so that it sets the UsageMask
field in temporary array declarations. This ends up being helpful for
lowering float and vecN arrays with N <= 3.

The remaining patches are radeon (really radeonsi) specific. They begin
with a bunch of cleanups, and then do two things: first, when alloca is
used for arrays, make use of the UsageMask to allocate smaller arrays
when possible. Second, add explicit bounds checks when accessing those
arrays to prevent VM faults -- those temporary array accesses are not
protected by limits in buffer descriptors.

Note that the radeon part of the series exposes some pre-existing LLVM
bugs in Piglit, at least one of which has already been encountered
elsewhere, see http://reviews.llvm.org/D22556 and
http://reviews.llvm.org/D23303.

Please review!

Thanks,
Nicolai

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to