Browse Source
Merge pull request #3958 from FernandoS27/gl-debug
OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled
pull/15/merge
bunnei
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
9 additions and
0 deletions
-
src/video_core/renderer_opengl/renderer_opengl.cpp
-
src/yuzu/bootmanager.cpp
-
src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp
|
|
|
@ -753,6 +753,9 @@ void RendererOpenGL::RenderScreenshot() { |
|
|
|
bool RendererOpenGL::Init() { |
|
|
|
if (GLAD_GL_KHR_debug) { |
|
|
|
glEnable(GL_DEBUG_OUTPUT); |
|
|
|
if (Settings::values.renderer_debug) { |
|
|
|
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); |
|
|
|
} |
|
|
|
glDebugMessageCallback(DebugHandler, nullptr); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -106,6 +106,9 @@ public: |
|
|
|
format.setVersion(4, 3); |
|
|
|
format.setProfile(QSurfaceFormat::CompatibilityProfile); |
|
|
|
format.setOption(QSurfaceFormat::FormatOption::DeprecatedFunctions); |
|
|
|
if (Settings::values.renderer_debug) { |
|
|
|
format.setOption(QSurfaceFormat::FormatOption::DebugContext); |
|
|
|
} |
|
|
|
// TODO: expose a setting for buffer value (ie default/single/double/triple)
|
|
|
|
format.setSwapBehavior(QSurfaceFormat::DefaultSwapBehavior); |
|
|
|
format.setSwapInterval(0); |
|
|
|
|
|
|
|
@ -98,6 +98,9 @@ EmuWindow_SDL2_GL::EmuWindow_SDL2_GL(Core::System& system, bool fullscreen) |
|
|
|
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); |
|
|
|
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0); |
|
|
|
SDL_GL_SetAttribute(SDL_GL_SHARE_WITH_CURRENT_CONTEXT, 1); |
|
|
|
if (Settings::values.renderer_debug) { |
|
|
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG); |
|
|
|
} |
|
|
|
SDL_GL_SetSwapInterval(0); |
|
|
|
|
|
|
|
std::string window_title = fmt::format("yuzu {} | {}-{}", Common::g_build_fullname, |
|
|
|
|