Update OpenGLRenderer.cpp

This commit is contained in:
ManDude
2021-08-11 07:44:35 +01:00
parent c87b818d82
commit ed19d046f3
@@ -10,24 +10,37 @@
/*!
* OpenGL Error callback. If we do something invalid, this will be called.
*/
void GLAPIENTRY opengl_error_callback(GLenum /*source*/,
GLenum /*type*/,
GLuint /*id*/,
void GLAPIENTRY opengl_error_callback(GLenum source,
GLenum type,
GLuint id,
GLenum severity,
GLsizei /*length*/,
const GLchar* message,
const void* /*userParam*/) {
if (severity == GL_DEBUG_SEVERITY_NOTIFICATION) {
return;
} else if (severity == GL_DEBUG_SEVERITY_LOW) {
lg::info("OpenGL message 0x{:X} S{:X} T{:X}: {}", id, source, type, message);
} else if (severity == GL_DEBUG_SEVERITY_MEDIUM) {
lg::warn("OpenGL warn 0x{:X} S{:X} T{:X}: {}", id, source, type, message);
} else if (severity == GL_DEBUG_SEVERITY_HIGH) {
lg::error("OpenGL error 0x{:X} S{:X} T{:X}: {}", id, source, type, message);
}
lg::error("OpenGL error: {}", message);
}
OpenGLRenderer::OpenGLRenderer(std::shared_ptr<TexturePool> texture_pool)
: m_render_state(texture_pool) {
// setup OpenGL errors
// disable specific errors
const GLuint l_gl_error_ignores[1] = {
0x64 // [API-PERFORMANCE] glDrawArrays uses non-native input attribute type
};
glEnable(GL_DEBUG_OUTPUT);
glDebugMessageCallback(opengl_error_callback, nullptr);
// filter
glDebugMessageControl(GL_DEBUG_SOURCE_API, GL_DEBUG_TYPE_PERFORMANCE, GL_DONT_CARE, 1,
&l_gl_error_ignores[0], GL_FALSE);
// initialize all renderers
init_bucket_renderers();