PIPE_CAP_MAX_FS_INPUTS specifies the number of COLORn + GENERICn inputs and is set in MaxNativeAttribs. It&#39;s always 2 colors + N generic attributes. The GLSL compiler never uses COLORn for varyings, so I subtract the 2 colors to get the maximum number of varyings (generic attributes) supported by a driver.<br>

<br>Marek<br><br><div class="gmail_quote">On Sun, Aug 29, 2010 at 12:06 PM, Jose Fonseca <span dir="ltr">&lt;<a href="mailto:jfonseca@vmware.com">jfonseca@vmware.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;">

Marek,<br>
<br>
Could you elaborate why 2 color attributes are being subtracted?<br>
<br>
Jose<br>
________________________________________<br>
From: mesa-dev-bounces+jfonseca=<a href="http://vmware.com" target="_blank">vmware.com</a>@<a href="http://lists.freedesktop.org" target="_blank">lists.freedesktop.org</a> [mesa-dev-bounces+jfonseca=<a href="http://vmware.com" target="_blank">vmware.com</a>@<a href="http://lists.freedesktop.org" target="_blank">lists.freedesktop.org</a>] On Behalf Of Marek Olšák [<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>]<br>


Sent: Saturday, August 28, 2010 18:08<br>
To: <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a>; Brian Paul<br>
Subject: Re: [Mesa-dev] [PATCH] st/mesa: set the MaxVarying GLSL constant<br>
<div class="im"><br>
May I push this? It makes glsl-max-varyings pass with r300g.<br>
<br>
Marek<br>
<br>
</div><div><div></div><div class="h5">On Wed, Aug 25, 2010 at 5:27 AM, Marek Olšák &lt;<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>&lt;mailto:<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>&gt;&gt; wrote:<br>


---<br>
 src/mesa/state_tracker/st_extensions.c |    3 +++<br>
 1 files changed, 3 insertions(+), 0 deletions(-)<br>
<br>
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c<br>
index 90e7867..dacba2c 100644<br>
--- a/src/mesa/state_tracker/st_extensions.c<br>
+++ b/src/mesa/state_tracker/st_extensions.c<br>
@@ -161,6 +161,9 @@ void st_init_limits(struct st_context *st)<br>
   pc-&gt;MaxNativeTemps           = screen-&gt;get_param(screen, PIPE_CAP_MAX_VS_TEMPS);<br>
   pc-&gt;MaxNativeAddressRegs     = screen-&gt;get_param(screen, PIPE_CAP_MAX_VS_ADDRS);<br>
   pc-&gt;MaxNativeParameters      = screen-&gt;get_param(screen, PIPE_CAP_MAX_VS_CONSTS);<br>
+<br>
+   /* Subtract 2 color attributes. */<br>
+   c-&gt;MaxVarying = screen-&gt;get_param(screen, PIPE_CAP_MAX_FS_INPUTS) - 2;<br>
 }<br>
<br>
<br>
--<br>
1.7.0.4<br>
<br>
<br>
</div></div></blockquote></div><br>