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]>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
