On 13 September 2011 07:17, Ian Romanick <span dir="ltr">&lt;<a href="mailto:idr@freedesktop.org">idr@freedesktop.org</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br><div><div class="h5">
&gt; *instructions, type = glsl_type::error_type; }<br>
&gt;<br>
&gt; +   /* From page 39 (page 45 of the PDF) of the GLSL 1.10 spec: +<br>
&gt; * +    *    &quot;When calling a function, expressions that do not<br>
&gt; evaluate to +    *     l-values cannot be passed to parameters<br>
&gt; declared as out or inout.&quot; +    * +    * From page 32 (page 38 of<br>
&gt; the PDF) of the GLSL 1.10 spec: +    * +    *    &quot;Other binary or<br>
&gt; unary expressions, non-dereferenced arrays, +    *     function<br>
&gt; names, swizzles with repeated fields, and constants +    *<br>
&gt; cannot be l-values.&quot; +    * +    * So for GLSL 1.10, passing an<br>
&gt; array as an out or inout parameter is not +    * allowed.  This<br>
&gt; restriction is removed in GLSL 1.20, and in GLSL ES. +    */ +   if<br>
&gt; ((var-&gt;mode == ir_var_inout || var-&gt;mode == ir_var_out) +       &amp;&amp;<br>
&gt; type-&gt;is_array() &amp;&amp; state-&gt;language_version == 110) { +<br>
&gt; _mesa_glsl_error(&amp;loc, state, &quot;Arrays are not l-values in GLSL<br>
&gt; 1.10&quot;);<br>
<br>
</div></div>&gt; /** @@ -2953,6 +2934,26 @@ ast_parameter_declarator::hir(exec_list<br>The error message should say what the actual error is.  While this<br>
message is technically correct, it will confuse / irritate some<br>
people.  &quot;Arrays cannot be out or inout parameters in GLSL 1.10&quot; is<br>
better.<br></blockquote><div><br>Agreed.  Your phrasing is better.  I&#39;ll fix it when I push the patch.<br></div></div>