Mesa (master): radv: Make radv_finishme only warn once per call-site

Emil Velikov evelikov at kemper.freedesktop.org
Mon Nov 28 19:13:16 UTC 2016


Module: Mesa
Branch: master
Commit: f3a1c17b96ad797735214d2012b1436af9cb46d4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f3a1c17b96ad797735214d2012b1436af9cb46d4

Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Thu Nov 24 18:18:14 2016 +0000

radv: Make radv_finishme only warn once per call-site

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/vulkan/radv_private.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index a5d13a9..def0af2 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -211,7 +211,13 @@ void radv_loge_v(const char *format, va_list va);
  * Print a FINISHME message, including its source location.
  */
 #define radv_finishme(format, ...)					\
-	__radv_finishme(__FILE__, __LINE__, format, ##__VA_ARGS__);
+	do { \
+		static bool reported = false; \
+		if (!reported) { \
+			__radv_finishme(__FILE__, __LINE__, format, ##__VA_ARGS__); \
+			reported = true; \
+		} \
+	} while (0)
 
 /* A non-fatal assert.  Useful for debugging. */
 #ifdef DEBUG




More information about the mesa-commit mailing list