egl: Track EGL_KHR_debug state when going through EGL API calls (v3)
authorKyle Brenneman <kbrenneman@nvidia.com>
Mon, 12 Sep 2016 21:50:40 +0000 (17:50 -0400)
committerAdam Jackson <ajax@redhat.com>
Wed, 5 Oct 2016 15:40:51 +0000 (11:40 -0400)
commit6a5545d3ba60a19a3bce8f62141e0991a595eeaf
tree2c2f43ea6fc78b565162a4801e89be79341d3927
parentf8b861a8673ca49eb6e4fbcdc1cf7f6be884afe1
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 <ajax@redhat.com>
Reviewed-by: Emil Velikov <emil.veliko@collabora.com>
src/egl/main/eglapi.c
src/egl/main/eglcurrent.c
src/egl/main/eglcurrent.h
src/egl/main/eglglobals.h