On 16/08/18 02:10, Jason Ekstrand wrote:
On Tue, Aug 14, 2018 at 7:25 PM Timothy Arceri <tarc...@itsqueeze.com
<mailto:tarc...@itsqueeze.com>> wrote:
On 09/08/18 05:05, Jason Ekstrand wrote:
> Commit 4434591bf56a6b0 caused substantially more URB messages in
> geometry and tessellation shaders. Before we can really enable this
> sort of optimization, We either need some way of combining them back
> together into vectors or we need to do cross-stage vector element
> elimination without splitting everything into scalars.
You should be calling:
nir_compact_varyings() after remove_unused_varyings this should do most
of what you want.
Does that turn things back into vectors? The problem we're hitting is
not that things aren't compacted, it's that we want to read/write whole
vectors at a time as much as possible. Just reverting the patch isn't
quite the proper solution because we want to be able to compact things
and it would be nice if we could load two variables at a time if they're
packed side-by-side in one vec4. However, it does solve the perf
regression for now.
Yes. nir_compact_varyings() compacts everything into vec4s. The only
thing it doesn't currently do is compact the locations (the nir->llvm
pass does this for radeonsi anyway).
--Jason
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev