egl: simplify _eglDebugReport* API
authorEmil Velikov <emil.velikov@collabora.com>
Thu, 7 Sep 2017 16:03:50 +0000 (17:03 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 19 Sep 2017 18:07:16 +0000 (19:07 +0100)
Instead of having three, almost identical but not quite,
_eglDebugReport* functions, simply fold them into one.

While doing so drop the unnecessary arguments 'command' and
'objectLabel'. Former is identical to funcName, while the latter is
already stored (yet unused) in _EGLThreadInfo::CurrentObjectLabel.

Cc: Kyle Brenneman <kbrenneman@nvidia.com>
Cc: Adam Jackson <ajax@redhat.com>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> (IRC)
src/egl/main/eglapi.c
src/egl/main/eglcurrent.c
src/egl/main/eglcurrent.h

index e3f10fcbe24162b5912ea60e85a0b657da09455f..9a59d9e0c3571f937f1311cb079f5a749a08e90d 100644 (file)
@@ -274,8 +274,7 @@ _eglSetFuncName(const char *funcName, _EGLDisplay *disp, EGLenum objectType, _EG
       return EGL_TRUE;
    }
 
-   _eglDebugReportFull(EGL_BAD_ALLOC, funcName, funcName,
-                       EGL_DEBUG_MSG_CRITICAL_KHR, NULL, NULL);
+   _eglDebugReport(EGL_BAD_ALLOC, funcName, EGL_DEBUG_MSG_CRITICAL_KHR, NULL);
    return EGL_FALSE;
 }
 
index df0463d70e5a35716257dc466c4206cadb7014f9..db42b45309da10bac86b8900dc676fd5d9cf975a 100644 (file)
@@ -294,37 +294,36 @@ _eglError(EGLint errCode, const char *msg)
    return EGL_FALSE;
 }
 
-/**
- * Returns the label set for the current thread.
- */
-EGLLabelKHR
-_eglGetThreadLabel(void)
-{
-   _EGLThreadInfo *t = _eglGetCurrentThread();
-   return t->Label;
-}
-
-static void
-_eglDebugReportFullv(EGLenum error, const char *command, const char *funcName,
-      EGLint type, EGLLabelKHR objectLabel, const char *message, va_list args)
+void
+_eglDebugReport(EGLenum error, const char *funcName,
+      EGLint type, const char *message, ...)
 {
+   _EGLThreadInfo *thr = _eglGetCurrentThread();
    EGLDEBUGPROCKHR callback = NULL;
+   va_list args;
+
+   if (funcName == NULL)
+      funcName = thr->CurrentFuncName;
 
    mtx_lock(_eglGlobal.Mutex);
    if (_eglGlobal.debugTypesEnabled & DebugBitFromType(type)) {
       callback = _eglGlobal.debugCallback;
    }
+
    mtx_unlock(_eglGlobal.Mutex);
 
    if (callback != NULL) {
       char *buf = NULL;
 
       if (message != NULL) {
+         va_start(args, message);
          if (vasprintf(&buf, message, args) < 0) {
             buf = NULL;
          }
+
+         va_end(args);
       }
-      callback(error, command, type, _eglGetThreadLabel(), objectLabel, buf);
+      callback(error, funcName, type, thr->Label, thr->CurrentObjectLabel, buf);
       free(buf);
    }
 
@@ -332,29 +331,3 @@ _eglDebugReportFullv(EGLenum error, const char *command, const char *funcName,
       _eglInternalError(error, funcName);
    }
 }
-
-void
-_eglDebugReportFull(EGLenum error, const char *command, const char *funcName,
-      EGLint type, EGLLabelKHR objectLabel, const char *message, ...)
-{
-   va_list args;
-   va_start(args, message);
-   _eglDebugReportFullv(error, command, funcName, type, objectLabel, message, args);
-   va_end(args);
-}
-
-void
-_eglDebugReport(EGLenum error, const char *funcName,
-      EGLint type, const char *message, ...)
-{
-   _EGLThreadInfo *thr = _eglGetCurrentThread();
-   va_list args;
-
-   if (funcName == NULL) {
-      funcName = thr->CurrentFuncName;
-   }
-
-   va_start(args, message);
-   _eglDebugReportFullv(error, thr->CurrentFuncName, funcName, type, thr->CurrentObjectLabel, message, args);
-   va_end(args);
-}
index 9ec07bac8e6ce17b1354f132fa1199213b6a4ad5..d9a4a90174e2e62d45420ecfa5953fe66e516e38 100644 (file)
@@ -99,13 +99,6 @@ _eglGetCurrentContext(void);
 extern EGLBoolean
 _eglError(EGLint errCode, const char *msg);
 
-extern EGLLabelKHR
-_eglGetThreadLabel(void);
-
-extern void
-_eglDebugReportFull(EGLenum error, const char *command, const char *funcName,
-      EGLint type, EGLLabelKHR objectLabel, const char *message, ...);
-
 extern void
 _eglDebugReport(EGLenum error, const char *funcName,
       EGLint type, const char *message, ...);