<div dir="ltr">On 22 January 2013 00:52, Ian Romanick <span dir="ltr"><<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>><br>
<br>
For the first declaration below, there will be an ir_variable named<br>
"instance" whose type and whose instance_type will be the same<br>
glsl_type.  For the second declaration, there will be an ir_variable<br>
named "f" whose type is float and whose instance_type is B2.<br>
<br>
"instance" is an interface instance variable, but "f" is not.<br>
<br>
uniform B1 {<br>
    float f;<br>
} instance;<br>
<br>
uniform B2 {<br>
    float f;<br>
};<br>
<br>
Signed-off-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>><br>
---<br>
 src/glsl/ir.h | 8 ++++++++<br>
 1 file changed, 8 insertions(+)<br>
<br>
diff --git a/src/glsl/ir.h b/src/glsl/ir.h<br>
index 49c5f8d..a776f49 100644<br>
--- a/src/glsl/ir.h<br>
+++ b/src/glsl/ir.h<br>
@@ -355,6 +355,14 @@ public:<br>
       return this->mode == ir_var_uniform && this->interface_type != NULL;<br>
    }<br>
<br>
+   inline bool is_interface_instance() const<br>
+   {<br>
+      const glsl_type *const t = this->type;<br>
+<br>
+      return (t == this->interface_type)<br>
+         || (t->is_array() && t->fields.array == this->interface_type);<br>
+    }<br>
+<br></blockquote><div><br></div><div>Not wanting to sound like a broken record here, but I could really use a comment above this function explaining what it means for a variable to be an "interface instance", and as in patch 12/32, I think the text that you have in the commit message would be perfect.<br>
<br></div><div>With that change, this patch is:<br><br>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

    /**<br>
     * Declared type of the variable<br>
     */<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.7.11.7<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>