diff options
| author | 2016-08-25 18:20:47 -0400 | |
|---|---|---|
| committer | 2016-08-29 21:42:30 -0400 | |
| commit | 08ad9b36d44e3cca0802bb1198036c5d77c844cc (patch) | |
| tree | 8bbca77978c74081557adf548ec65e624ae3ccfd /src | |
| parent | qt: Add a configuration tab for Graphics and move relevant fields. (diff) | |
| download | yuzu-08ad9b36d44e3cca0802bb1198036c5d77c844cc.tar.gz yuzu-08ad9b36d44e3cca0802bb1198036c5d77c844cc.tar.xz yuzu-08ad9b36d44e3cca0802bb1198036c5d77c844cc.zip | |
config: Add a setting for graphics V-Sync.
Diffstat (limited to 'src')
| -rw-r--r-- | src/citra/config.cpp | 1 | ||||
| -rw-r--r-- | src/citra/default_ini.h | 4 | ||||
| -rw-r--r-- | src/citra/emu_window/emu_window_sdl2.cpp | 1 | ||||
| -rw-r--r-- | src/citra_qt/bootmanager.cpp | 1 | ||||
| -rw-r--r-- | src/citra_qt/config.cpp | 2 | ||||
| -rw-r--r-- | src/citra_qt/configure_graphics.cpp | 3 | ||||
| -rw-r--r-- | src/citra_qt/configure_graphics.ui | 7 | ||||
| -rw-r--r-- | src/core/settings.h | 1 | ||||
| -rw-r--r-- | src/video_core/video_core.cpp | 1 |
9 files changed, 20 insertions, 1 deletions
diff --git a/src/citra/config.cpp b/src/citra/config.cpp index e832ec58d..d71045646 100644 --- a/src/citra/config.cpp +++ b/src/citra/config.cpp | |||
| @@ -71,6 +71,7 @@ void Config::ReadValues() { | |||
| 71 | Settings::values.use_hw_renderer = sdl2_config->GetBoolean("Renderer", "use_hw_renderer", true); | 71 | Settings::values.use_hw_renderer = sdl2_config->GetBoolean("Renderer", "use_hw_renderer", true); |
| 72 | Settings::values.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true); | 72 | Settings::values.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true); |
| 73 | Settings::values.use_scaled_resolution = sdl2_config->GetBoolean("Renderer", "use_scaled_resolution", false); | 73 | Settings::values.use_scaled_resolution = sdl2_config->GetBoolean("Renderer", "use_scaled_resolution", false); |
| 74 | Settings::values.use_vsync = sdl2_config->GetBoolean("Renderer", "use_vsync", false); | ||
| 74 | 75 | ||
| 75 | Settings::values.bg_red = (float)sdl2_config->GetReal("Renderer", "bg_red", 1.0); | 76 | Settings::values.bg_red = (float)sdl2_config->GetReal("Renderer", "bg_red", 1.0); |
| 76 | Settings::values.bg_green = (float)sdl2_config->GetReal("Renderer", "bg_green", 1.0); | 77 | Settings::values.bg_green = (float)sdl2_config->GetReal("Renderer", "bg_green", 1.0); |
diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h index 6249ef9e2..b10700e62 100644 --- a/src/citra/default_ini.h +++ b/src/citra/default_ini.h | |||
| @@ -55,6 +55,10 @@ use_shader_jit = | |||
| 55 | # 0 (default): Native, 1: Scaled | 55 | # 0 (default): Native, 1: Scaled |
| 56 | use_scaled_resolution = | 56 | use_scaled_resolution = |
| 57 | 57 | ||
| 58 | # Whether to enable V-Sync (caps the framerate at 60FPS) or not. | ||
| 59 | # 0 (default): Off, 1: On | ||
| 60 | use_vsync = | ||
| 61 | |||
| 58 | # The clear color for the renderer. What shows up on the sides of the bottom screen. | 62 | # The clear color for the renderer. What shows up on the sides of the bottom screen. |
| 59 | # Must be in range of 0.0-1.0. Defaults to 1.0 for all. | 63 | # Must be in range of 0.0-1.0. Defaults to 1.0 for all. |
| 60 | bg_red = | 64 | bg_red = |
diff --git a/src/citra/emu_window/emu_window_sdl2.cpp b/src/citra/emu_window/emu_window_sdl2.cpp index 591f68aa4..da12307b7 100644 --- a/src/citra/emu_window/emu_window_sdl2.cpp +++ b/src/citra/emu_window/emu_window_sdl2.cpp | |||
| @@ -108,6 +108,7 @@ EmuWindow_SDL2::EmuWindow_SDL2() { | |||
| 108 | OnResize(); | 108 | OnResize(); |
| 109 | OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size); | 109 | OnMinimalClientAreaChangeRequest(GetActiveConfig().min_client_area_size); |
| 110 | SDL_PumpEvents(); | 110 | SDL_PumpEvents(); |
| 111 | SDL_GL_SetSwapInterval(Settings::values.use_vsync); | ||
| 111 | 112 | ||
| 112 | DoneCurrent(); | 113 | DoneCurrent(); |
| 113 | } | 114 | } |
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 414b2f8af..a9669c559 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp | |||
| @@ -119,6 +119,7 @@ GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) : | |||
| 119 | QGLFormat fmt; | 119 | QGLFormat fmt; |
| 120 | fmt.setVersion(3,3); | 120 | fmt.setVersion(3,3); |
| 121 | fmt.setProfile(QGLFormat::CoreProfile); | 121 | fmt.setProfile(QGLFormat::CoreProfile); |
| 122 | fmt.setSwapInterval(VideoCore::g_vsync_enabled); | ||
| 122 | // Requests a forward-compatible context, which is required to get a 3.2+ context on OS X | 123 | // Requests a forward-compatible context, which is required to get a 3.2+ context on OS X |
| 123 | fmt.setOption(QGL::NoDeprecatedFunctions); | 124 | fmt.setOption(QGL::NoDeprecatedFunctions); |
| 124 | 125 | ||
diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp index 93c6a6e41..ff7af445e 100644 --- a/src/citra_qt/config.cpp +++ b/src/citra_qt/config.cpp | |||
| @@ -48,6 +48,7 @@ void Config::ReadValues() { | |||
| 48 | Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool(); | 48 | Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool(); |
| 49 | Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool(); | 49 | Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool(); |
| 50 | Settings::values.use_scaled_resolution = qt_config->value("use_scaled_resolution", false).toBool(); | 50 | Settings::values.use_scaled_resolution = qt_config->value("use_scaled_resolution", false).toBool(); |
| 51 | Settings::values.use_vsync = qt_config->value("use_vsync", false).toBool(); | ||
| 51 | 52 | ||
| 52 | Settings::values.bg_red = qt_config->value("bg_red", 1.0).toFloat(); | 53 | Settings::values.bg_red = qt_config->value("bg_red", 1.0).toFloat(); |
| 53 | Settings::values.bg_green = qt_config->value("bg_green", 1.0).toFloat(); | 54 | Settings::values.bg_green = qt_config->value("bg_green", 1.0).toFloat(); |
| @@ -139,6 +140,7 @@ void Config::SaveValues() { | |||
| 139 | qt_config->setValue("use_hw_renderer", Settings::values.use_hw_renderer); | 140 | qt_config->setValue("use_hw_renderer", Settings::values.use_hw_renderer); |
| 140 | qt_config->setValue("use_shader_jit", Settings::values.use_shader_jit); | 141 | qt_config->setValue("use_shader_jit", Settings::values.use_shader_jit); |
| 141 | qt_config->setValue("use_scaled_resolution", Settings::values.use_scaled_resolution); | 142 | qt_config->setValue("use_scaled_resolution", Settings::values.use_scaled_resolution); |
| 143 | qt_config->setValue("use_vsync", Settings::values.use_vsync); | ||
| 142 | 144 | ||
| 143 | // Cast to double because Qt's written float values are not human-readable | 145 | // Cast to double because Qt's written float values are not human-readable |
| 144 | qt_config->setValue("bg_red", (double)Settings::values.bg_red); | 146 | qt_config->setValue("bg_red", (double)Settings::values.bg_red); |
diff --git a/src/citra_qt/configure_graphics.cpp b/src/citra_qt/configure_graphics.cpp index 85a120686..22def58d4 100644 --- a/src/citra_qt/configure_graphics.cpp +++ b/src/citra_qt/configure_graphics.cpp | |||
| @@ -22,11 +22,12 @@ void ConfigureGraphics::setConfiguration() { | |||
| 22 | ui->toogle_hw_renderer->setChecked(Settings::values.use_hw_renderer); | 22 | ui->toogle_hw_renderer->setChecked(Settings::values.use_hw_renderer); |
| 23 | ui->toogle_shader_jit->setChecked(Settings::values.use_shader_jit); | 23 | ui->toogle_shader_jit->setChecked(Settings::values.use_shader_jit); |
| 24 | ui->toogle_scaled_resolution->setChecked(Settings::values.use_scaled_resolution); | 24 | ui->toogle_scaled_resolution->setChecked(Settings::values.use_scaled_resolution); |
| 25 | ui->toogle_vsync->setChecked(Settings::values.use_vsync); | ||
| 25 | } | 26 | } |
| 26 | 27 | ||
| 27 | void ConfigureGraphics::applyConfiguration() { | 28 | void ConfigureGraphics::applyConfiguration() { |
| 28 | Settings::values.use_hw_renderer = ui->toogle_hw_renderer->isChecked(); | 29 | Settings::values.use_hw_renderer = ui->toogle_hw_renderer->isChecked(); |
| 29 | Settings::values.use_shader_jit = ui->toogle_shader_jit->isChecked(); | 30 | Settings::values.use_shader_jit = ui->toogle_shader_jit->isChecked(); |
| 30 | Settings::values.use_scaled_resolution = ui->toogle_scaled_resolution->isChecked(); | 31 | Settings::values.use_vsync = ui->toogle_vsync->isChecked(); |
| 31 | Settings::Apply(); | 32 | Settings::Apply(); |
| 32 | } | 33 | } |
diff --git a/src/citra_qt/configure_graphics.ui b/src/citra_qt/configure_graphics.ui index 336d49b19..e68d68c0e 100644 --- a/src/citra_qt/configure_graphics.ui +++ b/src/citra_qt/configure_graphics.ui | |||
| @@ -43,6 +43,13 @@ | |||
| 43 | </property> | 43 | </property> |
| 44 | </widget> | 44 | </widget> |
| 45 | </item> | 45 | </item> |
| 46 | <item> | ||
| 47 | <widget class="QCheckBox" name="toogle_vsync"> | ||
| 48 | <property name="text"> | ||
| 49 | <string>Enable V-Sync</string> | ||
| 50 | </property> | ||
| 51 | </widget> | ||
| 52 | </item> | ||
| 46 | </layout> | 53 | </layout> |
| 47 | </widget> | 54 | </widget> |
| 48 | </item> | 55 | </item> |
diff --git a/src/core/settings.h b/src/core/settings.h index f95e62390..34ff22f3f 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -72,6 +72,7 @@ struct Values { | |||
| 72 | bool use_hw_renderer; | 72 | bool use_hw_renderer; |
| 73 | bool use_shader_jit; | 73 | bool use_shader_jit; |
| 74 | bool use_scaled_resolution; | 74 | bool use_scaled_resolution; |
| 75 | bool use_vsync; | ||
| 75 | 76 | ||
| 76 | float bg_red; | 77 | float bg_red; |
| 77 | float bg_green; | 78 | float bg_green; |
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp index c9975876d..bd6e5eb6b 100644 --- a/src/video_core/video_core.cpp +++ b/src/video_core/video_core.cpp | |||
| @@ -22,6 +22,7 @@ std::unique_ptr<RendererBase> g_renderer; ///< Renderer plugin | |||
| 22 | std::atomic<bool> g_hw_renderer_enabled; | 22 | std::atomic<bool> g_hw_renderer_enabled; |
| 23 | std::atomic<bool> g_shader_jit_enabled; | 23 | std::atomic<bool> g_shader_jit_enabled; |
| 24 | std::atomic<bool> g_scaled_resolution_enabled; | 24 | std::atomic<bool> g_scaled_resolution_enabled; |
| 25 | std::atomic<bool> g_vsync_enabled; | ||
| 25 | 26 | ||
| 26 | /// Initialize the video core | 27 | /// Initialize the video core |
| 27 | bool Init(EmuWindow* emu_window) { | 28 | bool Init(EmuWindow* emu_window) { |