Imagination PowerVR SDK Blog

More KHR_debug progress (PowerVR SDK 3.4)

pvrvframe
pvrtrace

#1

Looking back at this, I managed to get a KHR_debug message callback working.

While eglGetProcAddress() on “glDebugMessageCallbackKHR” returns NULL and on “glDebugMessageCallback” returns a function that doesn’t seem to do anything, compile-time linking with the C++ name mangled, DLL storage class, stdcall API:

extern GL_APICALL void GL_APIENTRY glDebugMessageCallback (<br />
void ( GL_APIENTRY * )( unsigned int, unsigned int, unsigned int, unsigned int, int, char const *, void const *),<br />
void * );

seems to work, with a DEBUG context (EGL_CONTEXT_FLAGS_KHR, EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR).

I do notice however that trying to glEnable() either GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR or GL_DEBUG_OUTPUT_KHR results in an invalid enum GL error. Any ideas what I might be doing wrong here?

Thanks!


#2

I should also have mentioned this was necessary with the PVRVFrame in the PowerVR SDK 3.4 (Win32) to get KHR_debug functions working.


#3

Hi Dark_Photon

I can confirm the invalid enum is a bug in SDK 3.4. The error can be safely ignored because in PVRVFrame they have no effect, though you won’t be able to glDisable() the debug output.


#4

Ok, thanks Chris!

(Planning to spend more time soon to get KHR_debug debug markers in for annotation of PVRTrace output. If there are any tips or tricks you know of that may be useful, please let me know – thanks!)