On Tuesday, November 8, 2016 8:50:43 PM PST Jason Ekstrand wrote:
> When you fire up Dota2 on Haswell you get spammed with thousands of
> "Implement Gen7 HZ ops" finishme's.  The point of the finshme is as a
> reminder that there is something left to implement.  Printing it once
> should be sufficient.
> 
> Signed-off-by: Jason Ekstrand <[email protected]>
> ---
>  src/intel/vulkan/anv_private.h | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
> index 8f5a95b..c71a884 100644
> --- a/src/intel/vulkan/anv_private.h
> +++ b/src/intel/vulkan/anv_private.h
> @@ -194,8 +194,13 @@ void anv_loge_v(const char *format, va_list va);
>  /**
>   * Print a FINISHME message, including its source location.
>   */
> -#define anv_finishme(format, ...) \
> -   __anv_finishme(__FILE__, __LINE__, format, ##__VA_ARGS__);
> +#define anv_finishme(format, ...) ({ \
> +   static bool reported = false; \
> +   if (!reported) { \
> +      __anv_finishme(__FILE__, __LINE__, format, ##__VA_ARGS__); \
> +      reported = true; \
> +   } \
> +})
>  
>  /* A non-fatal assert.  Useful for debugging. */
>  #ifdef DEBUG
> 

In the commit title: onl -> only

I don't think you need to use a GCC-specific statement expression here.
The usual do { ... } while(0) would work fine, and is less magical.

With those changed,
Reviewed-by: Kenneth Graunke <[email protected]>

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to