On 16 March 2012 11:46, Chad Versace <span dir="ltr">&lt;<a href="mailto:chad.versace@linux.intel.com">chad.versace@linux.intel.com</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">
Overall this patch looks good. Below are some comments, some more important<br>
than others...<br>
<div class="im"><br>
On 03/12/2012 02:41 PM, Paul Berry wrote:<br>
&gt; Previous patches introduced code generation for the auto-generated<br>
&gt; portions of the piglit-dispatch mechanism.  This patch supplies the<br>
&gt; remaining hand-written code, which includes:<br>
&gt;<br>
&gt; - Code to initialize piglit-dispatch.<br>
&gt;<br>
&gt; - The actions to be taken when looking up a function, when function<br>
&gt;   lookup fails, or when a function is unsupported.<br>
&gt;<br>
&gt; - Code to determine whether piglit-dispatch has been initialized,<br>
&gt;   which GL version is supported, and whether a given extension is<br>
&gt;   supported.<br>
&gt;<br>
&gt; - Code to look up a function using a name supplied at run-time.<br>
&gt;<br>
&gt; - Definitions of basic GL types.<br>
&gt; ---<br>
&gt;  tests/util/piglit-dispatch-init.c |  122 +++++++++++++++++++<br>
&gt;  tests/util/piglit-dispatch.c      |  238 +++++++++++++++++++++++++++++++++++++<br>
&gt;  tests/util/piglit-dispatch.h      |  149 +++++++++++++++++++++++<br>
&gt;  3 files changed, 509 insertions(+), 0 deletions(-)<br>
&gt;  create mode 100644 tests/util/piglit-dispatch-init.c<br>
&gt;  create mode 100644 tests/util/piglit-dispatch.c<br>
&gt;  create mode 100644 tests/util/piglit-dispatch.h<br>
<br>
</div>-- snip --<br>
<div><div class="h5"><br>
&gt; --- /dev/null<br>
&gt; +++ b/tests/util/piglit-dispatch.c<br>
&gt; @@ -0,0 +1,238 @@<br>
&gt; +/* Copyright 2012 Intel Corporation<br>
&gt; + *<br>
&gt; + * Permission is hereby granted, free of charge, to any person obtaining a<br>
&gt; + * copy of this software and associated documentation files (the &quot;Software&quot;),<br>
&gt; + * to deal in the Software without restriction, including without limitation<br>
&gt; + * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>
&gt; + * and/or sell copies of the Software, and to permit persons to whom the<br>
&gt; + * Software is furnished to do so, subject to the following conditions:<br>
&gt; + *<br>
&gt; + * The above copyright notice and this permission notice (including the next<br>
&gt; + * paragraph) shall be included in all copies or substantial portions of the<br>
&gt; + * Software.<br>
&gt; + *<br>
&gt; + * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
&gt; + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
&gt; + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL<br>
&gt; + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
&gt; + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>
&gt; + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>
&gt; + * IN THE SOFTWARE.<br>
&gt; + */<br>
&gt; +<br>
&gt; +#include &quot;piglit-util.h&quot;<br>
<br>
</div></div>I think you need to #include &quot;piglit-dispatch.h&quot; too.<br></blockquote><div><br>Huh, I wonder why this ever worked.<br><br>Oh, I see: piglit-util.h includes gl_wrap.h, which includes piglit-dispatch.h.  Your suggestion is way clearer, and there&#39;s no harm in having a redundant include.  I&#39;ll include piglit-dispatch.h before piglit-util.h.<br>
 </div><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"><br>
&gt; +/* Global state maintained by the Piglit dispatch mechanism: */<br>
&gt; +<br>
&gt; +/**<br>
&gt; + * Which function to call to get the address of a core function.<br>
&gt; + */<br>
&gt; +static piglit_get_proc_address_function_ptr __get_core_proc_address = NULL;<br>
<br>
</div>Identifiers that begin with __ are reserved, even if the identifier has static<br>
or local scope. They need to be renamed.<br>
<br>