mesa: refactor debug output set_message_state
authorChia-I Wu <olvaffe@gmail.com>
Tue, 22 Apr 2014 02:23:47 +0000 (10:23 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Sun, 27 Apr 2014 02:06:20 +0000 (10:06 +0800)
Move message state update to debug_set_message_enable.  No functional change.

Signed-off-by: Chia-I Wu <olv@lunarg.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/errors.c

index 55b50b3e8d0d50ecc3b4db295ffb43f2b7d3ea71..d2d072f2af8a48872cfd0a5f960dac5789c78051 100644 (file)
@@ -217,6 +217,43 @@ debug_create(void)
    return debug;
 }
 
+/*
+ * Sets the state of the given message source/type/ID tuple.
+ */
+static void
+debug_set_message_enable(struct gl_debug_state *debug,
+                         enum mesa_debug_source source,
+                         enum mesa_debug_type type,
+                         GLuint id, GLboolean enabled)
+{
+   GLint gstack = debug->GroupStackDepth;
+   struct gl_debug_namespace *nspace =
+      &debug->Namespaces[gstack][source][type];
+   uintptr_t state;
+
+   /* In addition to not being able to store zero as a value, HashTable also
+    * can't use zero as a key.
+    */
+   if (id)
+      state = (uintptr_t)_mesa_HashLookup(nspace->IDs, id);
+   else
+      state = nspace->ZeroID;
+
+   if (state == NOT_FOUND)
+      state = enabled ? ENABLED : DISABLED;
+   else {
+      if (enabled)
+         state |= ENABLED_BIT;
+      else
+         state &= ~ENABLED_BIT;
+   }
+
+   if (id)
+      _mesa_HashInsert(nspace->IDs, id, (void*)state);
+   else
+      nspace->ZeroID = state;
+}
+
 /**
  * Returns if the given message source/type/ID tuple is enabled.
  */
@@ -316,9 +353,6 @@ should_log(struct gl_context *ctx,
 }
 
 
-/**
- * Sets the state of the given message source/type/ID tuple.
- */
 static void
 set_message_state(struct gl_context *ctx,
                   enum mesa_debug_source source,
@@ -327,34 +361,8 @@ set_message_state(struct gl_context *ctx,
 {
    struct gl_debug_state *debug = _mesa_get_debug_state(ctx);
 
-   if (debug) {
-      GLint gstack = debug->GroupStackDepth;
-      struct gl_debug_namespace *nspace =
-         &debug->Namespaces[gstack][source][type];
-      uintptr_t state;
-
-      /* In addition to not being able to store zero as a value, HashTable also
-       * can't use zero as a key.
-       */
-      if (id)
-         state = (uintptr_t)_mesa_HashLookup(nspace->IDs, id);
-      else
-         state = nspace->ZeroID;
-
-      if (state == NOT_FOUND)
-         state = enabled ? ENABLED : DISABLED;
-      else {
-         if (enabled)
-            state |= ENABLED_BIT;
-         else
-            state &= ~ENABLED_BIT;
-      }
-
-      if (id)
-         _mesa_HashInsert(nspace->IDs, id, (void*)state);
-      else
-         nspace->ZeroID = state;
-   }
+   if (debug)
+      debug_set_message_enable(debug, source, type, id, enabled);
 }