<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Nov 9, 2016 at 11:52 AM, Kenneth Graunke <span dir="ltr"><<a href="mailto:kenneth@whitecape.org" target="_blank">kenneth@whitecape.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Tuesday, November 8, 2016 8:50:43 PM PST Jason Ekstrand wrote:<br>
> When you fire up Dota2 on Haswell you get spammed with thousands of<br>
> "Implement Gen7 HZ ops" finishme's.  The point of the finshme is as a<br>
> reminder that there is something left to implement.  Printing it once<br>
> should be sufficient.<br>
><br>
> Signed-off-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br>
> ---<br>
>  src/intel/vulkan/anv_private.h | 9 +++++++--<br>
>  1 file changed, 7 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/src/intel/vulkan/anv_<wbr>private.h b/src/intel/vulkan/anv_<wbr>private.h<br>
> index 8f5a95b..c71a884 100644<br>
> --- a/src/intel/vulkan/anv_<wbr>private.h<br>
> +++ b/src/intel/vulkan/anv_<wbr>private.h<br>
> @@ -194,8 +194,13 @@ void anv_loge_v(const char *format, va_list va);<br>
>  /**<br>
>   * Print a FINISHME message, including its source location.<br>
>   */<br>
> -#define anv_finishme(format, ...) \<br>
> -   __anv_finishme(__FILE__, __LINE__, format, ##__VA_ARGS__);<br>
> +#define anv_finishme(format, ...) ({ \<br>
> +   static bool reported = false; \<br>
> +   if (!reported) { \<br>
> +      __anv_finishme(__FILE__, __LINE__, format, ##__VA_ARGS__); \<br>
> +      reported = true; \<br>
> +   } \<br>
> +})<br>
><br>
>  /* A non-fatal assert.  Useful for debugging. */<br>
>  #ifdef DEBUG<br>
><br>
<br>
</div></div>In the commit title: onl -> only<br></blockquote><div><br></div><div>Fixed.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I don't think you need to use a GCC-specific statement expression here.<br>
The usual do { ... } while(0) would work fine, and is less magical.<br></blockquote><div><br></div><div>I suppose.  I don't really care much one way or the other.  I don't find statement  expressions that magical.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
With those changed,<br>
Reviewed-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>><br>
</blockquote></div><br></div><div class="gmail_extra">Sorry, already pushed it. :/<br><br></div><div class="gmail_extra">I can make another patch to switch it to a do-while if you'd like.<br><br></div><div class="gmail_extra">--Jason<br></div></div>