1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2025-04-07 23:27:12 +00:00

some gl debug stuff

This commit is contained in:
fgenesis 2025-03-04 03:58:09 +01:00
parent 4d6c62b6cd
commit cf90556430
2 changed files with 29 additions and 13 deletions

View file

@ -55,7 +55,7 @@ static void GLAPIENTRY debugCallback(GLenum source, GLenum type, GLuint id, GLen
{
case GL_DEBUG_SEVERITY_HIGH_ARB:
case GL_DEBUG_SEVERITY_MEDIUM_ARB:
case GL_DEBUG_SEVERITY_LOW_ARB:
//case GL_DEBUG_SEVERITY_LOW_ARB:
{
const char *ty = glDebugTypeToStr(type);
const char *sev = glDebugSeverityToStr(severity);
@ -117,6 +117,10 @@ PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB = NULL;
PFNGLCOPYIMAGESUBDATAEXTPROC glCopyImageSubDataEXT = NULL;
PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB = NULL;
PFNGLOBJECTLABELPROC glObjectLabel = NULL;
// extern
unsigned g_dbg_numRenderCalls = 0;
bool g_has_GL_GENERATE_MIPMAP = false;
@ -185,6 +189,7 @@ bool lookup_all_glsyms()
// GL 4.3+, but maybe available as an extension
glCopyImageSubDataEXT = (PFNGLCOPYIMAGESUBDATAEXTPROC)SDL_GL_GetProcAddress("glCopyImageSubDataEXT");
glObjectLabel = (PFNGLOBJECTLABELPROC)SDL_GL_GetProcAddress("glObjectLabel");
// shaders
glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)SDL_GL_GetProcAddress("glCreateProgramObjectARB");
@ -218,23 +223,26 @@ bool lookup_all_glsyms()
glUnmapBufferARB = (PFNGLUNMAPBUFFERARBPROC)SDL_GL_GetProcAddress("glUnmapBufferARB");
#if _DEBUG
//PFNGLDEBUGMESSAGECONTROLARBPROC glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)SDL_GL_GetProcAddress("glDebugMessageControlARB");
//#ifndef NDEBUG
PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKARBPROC)SDL_GL_GetProcAddress("glDebugMessageCallbackARB");
//PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)SDL_GL_GetProcAddress("glDebugMessageInsertARB");
if(glDebugMessageCallbackARB)
{
/*glDebugMessageCallbackARB(debugCallback, NULL);
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB);*/
glDebugMessageCallbackARB(debugCallback, NULL);
#ifdef _DEBUG
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB);
#endif
PFNGLDEBUGMESSAGECONTROLARBPROC glDebugMessageControlARB = (PFNGLDEBUGMESSAGECONTROLARBPROC)SDL_GL_GetProcAddress("glDebugMessageControlARB");
if(glDebugMessageControlARB)
glDebugMessageControlARB(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, NULL, 0, GL_TRUE);
glDebugMessageInsertARB = (PFNGLDEBUGMESSAGEINSERTARBPROC)SDL_GL_GetProcAddress("glDebugMessageInsertARB");
if(glDebugMessageInsertARB)
glDebugMessageInsertARB(GL_DEBUG_SOURCE_APPLICATION_ARB, GL_DEBUG_TYPE_OTHER_ARB, 0, GL_DEBUG_SEVERITY_HIGH_ARB, -1, "GL debug init");
}
//if(glDebugMessageControlARB)
// glDebugMessageControlARB(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, NULL, 0, GL_TRUE);
//if(glDebugMessageInsertARB)
// glDebugMessageInsertARB(GL_DEBUG_SOURCE_APPLICATION_ARB, GL_DEBUG_TYPE_OTHER_ARB, 0, GL_DEBUG_SEVERITY_HIGH_ARB, 0, "GL debug test");
#endif
//#endif
return retval;
}
@ -289,6 +297,9 @@ void unload_all_glsyms()
glMapBufferARB = NULL;
glUnmapBufferARB = NULL;
glObjectLabel = NULL;
glCopyImageSubDataEXT = NULL;
}
#endif // BBGE_BUILD_OPENGL_STATIC

View file

@ -52,6 +52,7 @@ GLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufSize, GL
#if !defined(GL_ARB_copy_image) && !defined(GL_VERSION_4_3)
typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAEXTPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
typedef void (APIENTRYP PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
#endif
#ifdef _WINDOWS_
@ -108,4 +109,8 @@ extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
extern PFNGLCOPYIMAGESUBDATAEXTPROC glCopyImageSubDataEXT;
extern PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB;
extern PFNGLOBJECTLABELPROC glObjectLabel;
#endif