<div class="gmail_quote">On Fri, Sep 3, 2010 at 12:54 AM, Dave Airlie <span dir="ltr">&lt;<a href="mailto:airlied@gmail.com">airlied@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im">&gt;<br>
&gt;  - Later Radeons and NV chips:  I thought that these each had their own<br>
&gt; register allocators than ran after Mesa&#39;s.  These should be able to do<br>
&gt; the right thing.  Yes?<br>
<br>
</div>r600c doesn&#39;t have anything smart for register allocation yet. We&#39;ve<br>
had regression reports since Eric&#39;s change<br>
<br>
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=29978" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=29978</a><br></blockquote><div><br></div></div>If you mean this shader: <a href="http://fpaste.org/ejpo/">http://fpaste.org/ejpo/</a><br>

There is nothing register allocation can do about because there are indexed temporaries. You can reallocate temporaries starting at instruction index 47, which is too late. Note that this shader can&#39;t run on R300-&gt;R500 because the limit is 32 temporaries in vertex shaders. Also a lot of other optimizations are basically unusable/inapplicable with indexed temporaries. I&#39;d rather have commit 5ad74779cea07cc6a19a52874cdaef8b018e2f1b reverted. I consider this a showstopper.<br>

<br>Marek<br>