diff options
Diffstat (limited to 'src/yuzu')
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 8 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.h | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.cpp | 8 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.h | 1 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics_advanced.ui | 10 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 10 | 
6 files changed, 36 insertions, 2 deletions
| diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 6288fef62..bac9dff90 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -101,6 +101,12 @@ const std::map<Settings::RendererBackend, QString> Config::renderer_backend_text      {Settings::RendererBackend::Null, QStringLiteral(QT_TRANSLATE_NOOP("GMainWindow", "Null"))},  }; +const std::map<Settings::ShaderBackend, QString> Config::shader_backend_texts_map = { +    {Settings::ShaderBackend::GLSL, QStringLiteral(QT_TRANSLATE_NOOP("GMainWindow", "GLSL"))}, +    {Settings::ShaderBackend::GLASM, QStringLiteral(QT_TRANSLATE_NOOP("GMainWindow", "GLASM"))}, +    {Settings::ShaderBackend::SPIRV, QStringLiteral(QT_TRANSLATE_NOOP("GMainWindow", "SPIRV"))}, +}; +  // This shouldn't have anything except static initializers (no functions). So  // QKeySequence(...).toString() is NOT ALLOWED HERE.  // This must be in alphabetical order according to action name as it must have the same order as @@ -754,6 +760,7 @@ void Config::ReadRendererValues() {      ReadGlobalSetting(Settings::values.use_fast_gpu_time);      ReadGlobalSetting(Settings::values.use_vulkan_driver_pipeline_cache);      ReadGlobalSetting(Settings::values.enable_compute_pipelines); +    ReadGlobalSetting(Settings::values.use_video_framerate);      ReadGlobalSetting(Settings::values.bg_red);      ReadGlobalSetting(Settings::values.bg_green);      ReadGlobalSetting(Settings::values.bg_blue); @@ -1409,6 +1416,7 @@ void Config::SaveRendererValues() {      WriteGlobalSetting(Settings::values.use_fast_gpu_time);      WriteGlobalSetting(Settings::values.use_vulkan_driver_pipeline_cache);      WriteGlobalSetting(Settings::values.enable_compute_pipelines); +    WriteGlobalSetting(Settings::values.use_video_framerate);      WriteGlobalSetting(Settings::values.bg_red);      WriteGlobalSetting(Settings::values.bg_green);      WriteGlobalSetting(Settings::values.bg_blue); diff --git a/src/yuzu/configuration/config.h b/src/yuzu/configuration/config.h index ad590ea9e..0fd4baf6b 100644 --- a/src/yuzu/configuration/config.h +++ b/src/yuzu/configuration/config.h @@ -54,6 +54,7 @@ public:      static const std::map<bool, QString> use_docked_mode_texts_map;      static const std::map<Settings::GPUAccuracy, QString> gpu_accuracy_texts_map;      static const std::map<Settings::RendererBackend, QString> renderer_backend_texts_map; +    static const std::map<Settings::ShaderBackend, QString> shader_backend_texts_map;      static constexpr UISettings::Theme default_theme{  #ifdef _WIN32 diff --git a/src/yuzu/configuration/configure_graphics_advanced.cpp b/src/yuzu/configuration/configure_graphics_advanced.cpp index 896863f87..0463ac8b9 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.cpp +++ b/src/yuzu/configuration/configure_graphics_advanced.cpp @@ -42,6 +42,7 @@ void ConfigureGraphicsAdvanced::SetConfiguration() {          Settings::values.use_vulkan_driver_pipeline_cache.GetValue());      ui->enable_compute_pipelines_checkbox->setChecked(          Settings::values.enable_compute_pipelines.GetValue()); +    ui->use_video_framerate_checkbox->setChecked(Settings::values.use_video_framerate.GetValue());      if (Settings::IsConfiguringGlobal()) {          ui->gpu_accuracy->setCurrentIndex( @@ -91,6 +92,8 @@ void ConfigureGraphicsAdvanced::ApplyConfiguration() {      ConfigurationShared::ApplyPerGameSetting(&Settings::values.enable_compute_pipelines,                                               ui->enable_compute_pipelines_checkbox,                                               enable_compute_pipelines); +    ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_video_framerate, +                                             ui->use_video_framerate_checkbox, use_video_framerate);  }  void ConfigureGraphicsAdvanced::changeEvent(QEvent* event) { @@ -125,6 +128,8 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {              Settings::values.max_anisotropy.UsingGlobal());          ui->enable_compute_pipelines_checkbox->setEnabled(              Settings::values.enable_compute_pipelines.UsingGlobal()); +        ui->use_video_framerate_checkbox->setEnabled( +            Settings::values.use_video_framerate.UsingGlobal());          return;      } @@ -149,6 +154,9 @@ void ConfigureGraphicsAdvanced::SetupPerGameUI() {      ConfigurationShared::SetColoredTristate(ui->enable_compute_pipelines_checkbox,                                              Settings::values.enable_compute_pipelines,                                              enable_compute_pipelines); +    ConfigurationShared::SetColoredTristate(ui->use_video_framerate_checkbox, +                                            Settings::values.use_video_framerate, +                                            use_video_framerate);      ConfigurationShared::SetColoredComboBox(          ui->gpu_accuracy, ui->label_gpu_accuracy,          static_cast<int>(Settings::values.gpu_accuracy.GetValue(true))); diff --git a/src/yuzu/configuration/configure_graphics_advanced.h b/src/yuzu/configuration/configure_graphics_advanced.h index 1c7b636b9..a4dc8ceb0 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.h +++ b/src/yuzu/configuration/configure_graphics_advanced.h @@ -47,6 +47,7 @@ private:      ConfigurationShared::CheckState use_fast_gpu_time;      ConfigurationShared::CheckState use_vulkan_driver_pipeline_cache;      ConfigurationShared::CheckState enable_compute_pipelines; +    ConfigurationShared::CheckState use_video_framerate;      const Core::System& system;  }; diff --git a/src/yuzu/configuration/configure_graphics_advanced.ui b/src/yuzu/configuration/configure_graphics_advanced.ui index 37757a918..e7f0ef6be 100644 --- a/src/yuzu/configuration/configure_graphics_advanced.ui +++ b/src/yuzu/configuration/configure_graphics_advanced.ui @@ -192,6 +192,16 @@ Compute pipelines are always enabled on all other drivers.</string>           </widget>          </item>          <item> +         <widget class="QCheckBox" name="use_video_framerate_checkbox"> +          <property name="toolTip"> +           <string>Run the game at normal speed during video playback, even when the framerate is unlocked.</string> +          </property> +          <property name="text"> +           <string>Sync to framerate of video playback</string> +          </property> +         </widget> +        </item> +        <item>           <widget class="QWidget" name="af_layout" native="true">            <layout class="QHBoxLayout" name="horizontalLayout_1">             <property name="leftMargin"> diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 145fea5f1..013715b44 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -3067,7 +3067,7 @@ InstallResult GMainWindow::InstallNSPXCI(const QString& filename) {              return false;          } -        std::array<u8, 0x1000> buffer{}; +        std::vector<u8> buffer(1_MiB);          for (std::size_t i = 0; i < src->GetSize(); i += buffer.size()) {              if (install_progress->wasCanceled()) { @@ -4116,7 +4116,13 @@ void GMainWindow::UpdateDockedButton() {  void GMainWindow::UpdateAPIText() {      const auto api = Settings::values.renderer_backend.GetValue();      const auto renderer_status_text = Config::renderer_backend_texts_map.find(api)->second; -    renderer_status_button->setText(renderer_status_text.toUpper()); +    renderer_status_button->setText( +        api == Settings::RendererBackend::OpenGL +            ? tr("%1 %2").arg( +                  renderer_status_text.toUpper(), +                  Config::shader_backend_texts_map.find(Settings::values.shader_backend.GetValue()) +                      ->second) +            : renderer_status_text.toUpper());  }  void GMainWindow::UpdateFilterText() { | 
