From: Jason Ekstrand Date: Wed, 9 Nov 2016 04:43:09 +0000 (-0800) Subject: anv: Make anv_finishme only warn once per call-site X-Git-Tag: upstream/17.1.0~4911 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=64b140498d51a593006a65149b372fed22b6e32d;p=platform%2Fupstream%2Fmesa.git anv: Make anv_finishme only warn once per call-site When you fire up Dota2 on Haswell you get spammed with thousands of "Implement Gen7 HZ ops" finishme's. The point of anv_finishme is to act as a reminder that there is something left to implement. Printing it once should be sufficient. Signed-off-by: Jason Ekstrand --- 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