diff options
author | bunnei <bunneidev@gmail.com> | 2020-05-31 23:04:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-31 23:04:27 +0200 |
commit | edbf3144d20e5e96db0f54a96b5191156d7113a0 (patch) | |
tree | 5cd4ae8bb9da3acebd3418c998ad75c10ba971dc | |
parent | Merge pull request #3999 from ReinUsesLisp/opt-tex-cache (diff) | |
parent | OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled. (diff) | |
download | yuzu-edbf3144d20e5e96db0f54a96b5191156d7113a0.tar yuzu-edbf3144d20e5e96db0f54a96b5191156d7113a0.tar.gz yuzu-edbf3144d20e5e96db0f54a96b5191156d7113a0.tar.bz2 yuzu-edbf3144d20e5e96db0f54a96b5191156d7113a0.tar.lz yuzu-edbf3144d20e5e96db0f54a96b5191156d7113a0.tar.xz yuzu-edbf3144d20e5e96db0f54a96b5191156d7113a0.tar.zst yuzu-edbf3144d20e5e96db0f54a96b5191156d7113a0.zip |
-rw-r--r-- | src/video_core/renderer_opengl/renderer_opengl.cpp | 3 | ||||
-rw-r--r-- | src/yuzu/bootmanager.cpp | 3 | ||||
-rw-r--r-- | src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index 6b489e6db..e7952924a 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.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); } diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp index 1adf8932b..1f5e43043 100644 --- a/src/yuzu/bootmanager.cpp +++ b/src/yuzu/bootmanager.cpp @@ -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); diff --git a/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp b/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp index 411e7e647..09cc0a3b5 100644 --- a/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp +++ b/src/yuzu_cmd/emu_window/emu_window_sdl2_gl.cpp @@ -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, |