<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Aug 14, 2018 at 7:25 PM Timothy Arceri <<a href="mailto:tarceri@itsqueeze.com">tarceri@itsqueeze.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 09/08/18 05:05, Jason Ekstrand wrote:<br>
> Commit 4434591bf56a6b0 caused substantially more URB messages in<br>
> geometry and tessellation shaders. Before we can really enable this<br>
> sort of optimization, We either need some way of combining them back<br>
> together into vectors or we need to do cross-stage vector element<br>
> elimination without splitting everything into scalars.<br>
<br>
You should be calling:<br>
<br>
nir_compact_varyings() after remove_unused_varyings this should do most <br>
of what you want.<br></blockquote><div><br></div><div>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.</div><div><br></div><div>--Jason<br></div></div></div>