From 6a5545d3ba60a19a3bce8f62141e0991a595eeaf Mon Sep 17 00:00:00 2001 From: Kyle Brenneman Date: Mon, 12 Sep 2016 17:50:40 -0400 Subject: egl: Track EGL_KHR_debug state when going through EGL API calls (v3) This decorates every EGL entrypoint with _EGL_FUNC_START, which records the function name and primary dispatch object label in the current thread state. It also adds debug report functions and calls them when appropriate. This would be useful enough for debugging on its own, if the user set a breakpoint when the report function was called. We will also need this state tracked in order to expose EGL_KHR_debug. v2: - Clear the object label in more cases in _eglSetFuncName - Pass draw surface (if any) to _EGL_FUNC_START in eglSwapInterval v3: - Set dummy thread's CurrentAPI to EGL_OPENGL_ES_API not zero - Less ?: in _eglSetFuncName Reviewed-by: Adam Jackson Reviewed-by: Emil Velikov --- src/egl/main/eglglobals.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/egl/main/eglglobals.h') diff --git a/src/egl/main/eglglobals.h b/src/egl/main/eglglobals.h index dfa357759b8..ec4f3d04a36 100644 --- a/src/egl/main/eglglobals.h +++ b/src/egl/main/eglglobals.h @@ -70,5 +70,10 @@ extern struct _egl_global _eglGlobal; extern void _eglAddAtExitCall(void (*func)(void)); +static inline unsigned int DebugBitFromType(EGLenum type) +{ + assert(type >= EGL_DEBUG_MSG_CRITICAL_KHR && type <= EGL_DEBUG_MSG_INFO_KHR); + return (1 << (type - EGL_DEBUG_MSG_CRITICAL_KHR)); +} #endif /* EGLGLOBALS_INCLUDED */ -- cgit v1.2.3