Only use opengl debug groups if the LOVE_GRAPHICS_DEBUG environment variable is set to 1.

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2017-02-12 17:58:28 -04:00
parent df540cedea
commit 97789b18c0
6 changed files with 47 additions and 32 deletions
+1 -11
View File
@@ -272,17 +272,7 @@ bool Graphics::setMode(int width, int height, int pixelwidth, int pixelheight, b
else
setGammaCorrect(false);
bool enabledebug = false;
if (GLAD_VERSION_3_0)
{
// Enable OpenGL's debug output if a debug context has been created.
GLint flags = 0;
glGetIntegerv(GL_CONTEXT_FLAGS, &flags);
enabledebug = (flags & GL_CONTEXT_FLAG_DEBUG_BIT) != 0;
}
setDebug(enabledebug);
setDebug(isDebugEnabled());
if (streamBufferState.vb[0] == nullptr)
{
+26
View File
@@ -64,6 +64,32 @@ static void *LOVEGetProcAddress(const char *name)
return SDL_GL_GetProcAddress(name);
}
OpenGL::TempDebugGroup::TempDebugGroup(const char *name)
{
if (isDebugEnabled())
{
if (GLAD_VERSION_4_3 || (GLAD_KHR_debug && !GLAD_ES_VERSION_2_0))
glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, 0, (const GLchar *) name);
else if (GLAD_ES_VERSION_2_0 && GLAD_KHR_debug)
glPushDebugGroupKHR(GL_DEBUG_SOURCE_APPLICATION, 0, 0, (const GLchar *) name);
else if (GLAD_EXT_debug_marker)
glPushGroupMarkerEXT(0, (const GLchar *) name);
}
}
OpenGL::TempDebugGroup::~TempDebugGroup()
{
if (isDebugEnabled())
{
if (GLAD_VERSION_4_3 || (GLAD_KHR_debug && !GLAD_ES_VERSION_2_0))
glPopDebugGroup();
else if (GLAD_ES_VERSION_2_0 && GLAD_KHR_debug)
glPopDebugGroupKHR();
else if (GLAD_EXT_debug_marker)
glPopGroupMarkerEXT();
}
}
OpenGL::OpenGL()
: stats()
, contextInitialized(false)
+2 -19
View File
@@ -101,25 +101,8 @@ public:
{
public:
TempDebugGroup(const char *name)
{
if (GLAD_VERSION_4_3 || (GLAD_KHR_debug && !GLAD_ES_VERSION_2_0))
glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, 0, (const GLchar *) name);
else if (GLAD_ES_VERSION_2_0 && GLAD_KHR_debug)
glPushDebugGroupKHR(GL_DEBUG_SOURCE_APPLICATION, 0, 0, (const GLchar *) name);
else if (GLAD_EXT_debug_marker)
glPushGroupMarkerEXT(0, (const GLchar *) name);
}
~TempDebugGroup()
{
if (GLAD_VERSION_4_3 || (GLAD_KHR_debug && !GLAD_ES_VERSION_2_0))
glPopDebugGroup();
else if (GLAD_ES_VERSION_2_0 && GLAD_KHR_debug)
glPopDebugGroupKHR();
else if (GLAD_EXT_debug_marker)
glPopGroupMarkerEXT();
}
TempDebugGroup(const char *name);
~TempDebugGroup();
};
struct Stats