On 2 September 2011 14:40, Eric Anholt <span dir="ltr">&lt;<a href="mailto:eric@anholt.net">eric@anholt.net</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;">
<div class="im">On Fri,  2 Sep 2011 09:07:10 -0700, Paul Berry &lt;<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>&gt; wrote:<br>
&gt; Previously we would examine the offset[] array (since an offset of 0<br>
&gt; meant &quot;not in use&quot;).  This paves the way for removing the offset[]<br>
&gt; array.<br>
&gt; ---<br>
&gt;  src/mesa/drivers/dri/i965/brw_clip.h          |    9 +++++++++<br>
&gt;  src/mesa/drivers/dri/i965/brw_clip_unfilled.c |   14 +++++++++-----<br>
&gt;  src/mesa/drivers/dri/i965/brw_clip_util.c     |    8 ++++----<br>
&gt;  3 files changed, 22 insertions(+), 9 deletions(-)<br>
&gt;<br>
&gt; diff --git a/src/mesa/drivers/dri/i965/brw_clip.h b/src/mesa/drivers/dri/i965/brw_clip.h<br>
&gt; index 0324fea..80d4412 100644<br>
&gt; --- a/src/mesa/drivers/dri/i965/brw_clip.h<br>
&gt; +++ b/src/mesa/drivers/dri/i965/brw_clip.h<br>
&gt; @@ -126,6 +126,15 @@ struct brw_clip_compile {<br>
&gt;<br>
&gt;  #define ATTR_SIZE  (4*4)<br>
&gt;<br>
&gt; +/**<br>
&gt; + * True if the given vert_result is one of the outputs of the vertex shader.<br>
&gt; + */<br>
&gt; +static inline GLboolean brw_clip_have_vert_result(struct brw_clip_compile *c,<br>
&gt; +                                                  GLuint vert_result)<br>
&gt; +{<br>
&gt; +   return (c-&gt;key.attrs &amp; BITFIELD64_BIT(vert_result)) ? 1 : 0;<br>
&gt; +}<br>
<br>
</div>This helper function doesn&#39;t look like it&#39;s really saving typing, but if<br>
you like it, please use &quot;bool&quot; instead of &quot;GLboolean&quot; except in GL API<br>
implementation.<br></blockquote><div><br>Whoops, you&#39;re right.<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><div></div><div class="h5"><br>
&gt; +<br>
&gt;  /* Points are only culled, so no need for a clip routine, however it<br>
&gt;   * works out easier to have a dummy one.<br>
&gt;   */<br>
&gt; diff --git a/src/mesa/drivers/dri/i965/brw_clip_unfilled.c b/src/mesa/drivers/dri/i965/brw_clip_unfilled.c<br>
&gt; index da58796..53345f1 100644<br>
&gt; --- a/src/mesa/drivers/dri/i965/brw_clip_unfilled.c<br>
&gt; +++ b/src/mesa/drivers/dri/i965/brw_clip_unfilled.c<br>
&gt; @@ -130,8 +130,10 @@ static void copy_bfc( struct brw_clip_compile *c )<br>
&gt;<br>
&gt;     /* Do we have any colors to copy?<br>
&gt;      */<br>
&gt; -   if (!(c-&gt;offset[VERT_RESULT_COL0] &amp;&amp; c-&gt;offset[VERT_RESULT_BFC0]) &amp;&amp;<br>
&gt; -       !(c-&gt;offset[VERT_RESULT_COL1] &amp;&amp; c-&gt;offset[VERT_RESULT_BFC1]))<br>
&gt; +   if (!(brw_clip_have_vert_result(c, VERT_RESULT_COL0) &amp;&amp;<br>
&gt; +         brw_clip_have_vert_result(c, VERT_RESULT_BFC0)) &amp;&amp;<br>
&gt; +       !(brw_clip_have_vert_result(c, VERT_RESULT_COL1) &amp;&amp;<br>
&gt; +         brw_clip_have_vert_result(c, VERT_RESULT_BFC1)))<br>
&gt;        return;<br>
</div></div></blockquote></div><br>