layers: Add function to check if msg will be logged
authorCourtney Goeltzenleuchter <courtney@LunarG.com>
Fri, 18 Sep 2015 22:30:24 +0000 (16:30 -0600)
committerCourtney Goeltzenleuchter <courtney@LunarG.com>
Wed, 23 Sep 2015 17:14:59 +0000 (11:14 -0600)
A layer can use will_log_msg to determine if any output
at the designated notification level(s) will be sent
somewhere. This will allow a validation layer to avoid
high compute validation tests if the results are going
to be looked at.

layers/vk_layer_logging.h

index bef168ccef7b70e299e47fb26a1e90587749cce2..065135a6dfa0c3a67304888a1c8ff06712317e32 100644 (file)
@@ -230,6 +230,23 @@ static inline PFN_vkVoidFunction debug_report_get_instance_proc_addr(
     return NULL;
 }
 
+/*
+ * Checks if the message will get logged.
+ * Allows layer to defer collecting & formating data if the
+ * message will be discarded.
+ */
+static inline VkBool32 will_log_msg(
+    debug_report_data          *debug_data,
+    VkFlags                     msgFlags)
+{
+    if (!debug_data || !(debug_data->active_flags & msgFlags)) {
+        /* message is not wanted */
+        return false;
+    }
+
+    return true;
+}
+
 /*
  * Output log message via DEBUG_REPORT
  * Takes format and variable arg list so that output string