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:
parent
4d6c62b6cd
commit
cf90556430
2 changed files with 29 additions and 13 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue