@@ -114,6 +114,10 @@ utki::flags<ruis::render::opengl::extension> parse_supported_extensions(std::str
114114 ext_flags.set (ruis::render::opengl::extension::ext_texture_swizzle);
115115 } else if (ext == " GL_ARB_texture_swizzle" sv) {
116116 ext_flags.set (ruis::render::opengl::extension::arb_texture_swizzle);
117+ } else if (ext == " GL_ARB_debug_output" sv) {
118+ ext_flags.set (ruis::render::opengl::extension::arb_debug_output);
119+ } else if (ext == " GL_KHR_debug" sv) {
120+ ext_flags.set (ruis::render::opengl::extension::khr_debug);
117121 }
118122 }
119123
@@ -125,6 +129,12 @@ utki::flags<ruis::render::opengl::extension> parse_supported_extensions(std::str
125129 if (ext_flags.get (ruis::render::opengl::extension::arb_texture_swizzle)) {
126130 o << " GL_ARB_texture_swizzle" << std::endl;
127131 }
132+ if (ext_flags.get (ruis::render::opengl::extension::arb_debug_output)) {
133+ o << " GL_ARB_debug_output" << std::endl;
134+ }
135+ if (ext_flags.get (ruis::render::opengl::extension::khr_debug)) {
136+ o << " GL_KHR_debug" << std::endl;
137+ }
128138 });
129139
130140 return ext_flags;
@@ -183,8 +193,7 @@ context::context(utki::shared_ref<ruis::render::native_window> native_window) :
183193 this ->default_framebuffer = GLuint (old_fb);
184194
185195 utki::run_debug ([&]() {
186- // glDebugMessageCallback() was introduced in OpenGL 4.3
187- if (this ->gl_version >= utki::version_duplet{4 , 3 }) {
196+ if (this ->supported_extensions .get (ruis::render::opengl::extension::khr_debug)) {
188197 glEnable (GL_DEBUG_OUTPUT);
189198 glDebugMessageCallback (&opengl_error_callback, nullptr );
190199 }
0 commit comments