diff options
author | Emil Velikov <[email protected]> | 2017-09-07 17:03:50 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-09-19 19:07:16 +0100 |
commit | b94344f1c70484d4ee59bb8765021a81fd54b366 (patch) | |
tree | 816cdafb874c1c9eafcc30f2dae86fbaa61bf54a /src/egl/main | |
parent | 5af26734793c76a2faab96c5c2c1dc6517ce6cab (diff) |
egl: simplify _eglDebugReport* API
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 <[email protected]>
Cc: Adam Jackson <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]> (IRC)
Diffstat (limited to 'src/egl/main')
-rw-r--r-- | src/egl/main/eglapi.c | 3 | ||||
-rw-r--r-- | src/egl/main/eglcurrent.c | 53 | ||||
-rw-r--r-- | src/egl/main/eglcurrent.h | 7 |
3 files changed, 14 insertions, 49 deletions
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index e3f10fcbe24..9a59d9e0c35 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -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; } diff --git a/src/egl/main/eglcurrent.c b/src/egl/main/eglcurrent.c index df0463d70e5..db42b45309d 100644 --- a/src/egl/main/eglcurrent.c +++ b/src/egl/main/eglcurrent.c @@ -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); -} diff --git a/src/egl/main/eglcurrent.h b/src/egl/main/eglcurrent.h index 9ec07bac8e6..d9a4a90174e 100644 --- a/src/egl/main/eglcurrent.h +++ b/src/egl/main/eglcurrent.h @@ -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, ...); |