summaryrefslogtreecommitdiff
path: root/src/yuzu_cmd/yuzu.cpp
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-09-19 17:15:02 -0300
committerGravatar ReinUsesLisp2020-09-20 16:29:41 -0300
commit7003090187e02c8625f4eb7a024ac97f9b0159aa (patch)
treeb38f399967df79eb7c0dc711508cd54b7c9bf62e /src/yuzu_cmd/yuzu.cpp
parentMerge pull request #4643 from FearlessTobi/decrease-pad-update-interval (diff)
downloadyuzu-7003090187e02c8625f4eb7a024ac97f9b0159aa.tar.gz
yuzu-7003090187e02c8625f4eb7a024ac97f9b0159aa.tar.xz
yuzu-7003090187e02c8625f4eb7a024ac97f9b0159aa.zip
renderer_opengl: Remove emulated mailbox presentation
Emulated mailbox presentation was causing performance issues on Nvidia's OpenGL driver. Remove it.
Diffstat (limited to 'src/yuzu_cmd/yuzu.cpp')
-rw-r--r--src/yuzu_cmd/yuzu.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/yuzu_cmd/yuzu.cpp b/src/yuzu_cmd/yuzu.cpp
index e960b5413..3a76c785f 100644
--- a/src/yuzu_cmd/yuzu.cpp
+++ b/src/yuzu_cmd/yuzu.cpp
@@ -185,11 +185,11 @@ int main(int argc, char** argv) {
185 std::unique_ptr<EmuWindow_SDL2> emu_window; 185 std::unique_ptr<EmuWindow_SDL2> emu_window;
186 switch (Settings::values.renderer_backend.GetValue()) { 186 switch (Settings::values.renderer_backend.GetValue()) {
187 case Settings::RendererBackend::OpenGL: 187 case Settings::RendererBackend::OpenGL:
188 emu_window = std::make_unique<EmuWindow_SDL2_GL>(system, fullscreen, &input_subsystem); 188 emu_window = std::make_unique<EmuWindow_SDL2_GL>(&input_subsystem, fullscreen);
189 break; 189 break;
190 case Settings::RendererBackend::Vulkan: 190 case Settings::RendererBackend::Vulkan:
191#ifdef HAS_VULKAN 191#ifdef HAS_VULKAN
192 emu_window = std::make_unique<EmuWindow_SDL2_VK>(system, fullscreen, &input_subsystem); 192 emu_window = std::make_unique<EmuWindow_SDL2_VK>(&input_subsystem);
193 break; 193 break;
194#else 194#else
195 LOG_CRITICAL(Frontend, "Vulkan backend has not been compiled!"); 195 LOG_CRITICAL(Frontend, "Vulkan backend has not been compiled!");
@@ -240,14 +240,11 @@ int main(int argc, char** argv) {
240 system.CurrentProcess()->GetTitleID(), false, 240 system.CurrentProcess()->GetTitleID(), false,
241 [](VideoCore::LoadCallbackStage, size_t value, size_t total) {}); 241 [](VideoCore::LoadCallbackStage, size_t value, size_t total) {});
242 242
243 std::thread render_thread([&emu_window] { emu_window->Present(); });
244 system.Run(); 243 system.Run();
245 while (emu_window->IsOpen()) { 244 while (emu_window->IsOpen()) {
246 std::this_thread::sleep_for(std::chrono::milliseconds(1)); 245 std::this_thread::sleep_for(std::chrono::milliseconds(1));
247 } 246 }
248 system.Pause(); 247 system.Pause();
249 render_thread.join();
250
251 system.Shutdown(); 248 system.Shutdown();
252 249
253 detached_tasks.WaitForAllTasks(); 250 detached_tasks.WaitForAllTasks();