<div class="gmail_quote">On Sun, Aug 1, 2010 at 7:27 PM, Eric Anholt <span dir="ltr">&lt;<a href="mailto:eric@anholt.net">eric@anholt.net</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">On Sat, 31 Jul 2010 20:32:29 +0200, Marek Olšák &lt;<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>&gt; wrote:<br>
&gt; Also program_parse.tab.c has been regenerated.<br>
&gt;<br>
&gt; This fixes the parser error:<br>
&gt;<br>
&gt;   ARB_vp: error: relative address offset too large<br>
&gt;<br>
&gt; See also: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=28628" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=28628</a><br>
&gt;<br>
&gt; 4096 * sizeof(vec4) is the maximum size of the constant buffer on NV50,<br>
&gt; so it is a reasonable limit, at least for now.<br>
&gt; (should there be any limit at all?)<br>
&gt;<br>
&gt; Piglit: vp-arl-constant-array-huge-relative-offset<br>
<br>
</div>The limit comes from:<br>
<br>
    (26) What limits should be imposed on the constants that can be added to<br>
    or subtracted from the address register for relative addressing?  Negative<br>
    offsets are sometimes useful for shifting down in an array.<br>
<br>
      RESOLVED:  -64 to +63 should be sufficient for the time being.  Offset<br>
      sizes are limited to allow offsets to be baked into device-dependent<br>
      instruction encodings.<br>
<br>
so wine is really being nonportable here and should handle it itself,<br>
but I&#39;m fine with just removing the limits in the core and letting the<br>
drivers complain if they can&#39;t be supported.</blockquote><div><br>OK. The thing is proprietary drivers allow much larger offsets than -64/+63.<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

 4096 doesn&#39;t make sense as<br>
a limit, as constant buffer size limits should already be expressed<br>
through MAX_PROGRAM_PARAMETERS_ARB.<br>
</blockquote></div><br>It is not supposed to be a definite hardware limit, it is just large enough for it not to get in the way.<br><br>-Marek<br>