diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.cpp | 14 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.h | 1 | ||||
| -rw-r--r-- | src/core/hle/service/nfp/nfp_types.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_scheduler.cpp | 6 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics.cpp | 7 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 16 |
6 files changed, 39 insertions, 7 deletions
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index e23eae36a..c08274ef9 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp | |||
| @@ -707,7 +707,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) | |||
| 707 | {31, nullptr, "OpenGameCardFileSystem"}, | 707 | {31, nullptr, "OpenGameCardFileSystem"}, |
| 708 | {32, nullptr, "ExtendSaveDataFileSystem"}, | 708 | {32, nullptr, "ExtendSaveDataFileSystem"}, |
| 709 | {33, nullptr, "DeleteCacheStorage"}, | 709 | {33, nullptr, "DeleteCacheStorage"}, |
| 710 | {34, nullptr, "GetCacheStorageSize"}, | 710 | {34, &FSP_SRV::GetCacheStorageSize, "GetCacheStorageSize"}, |
| 711 | {35, nullptr, "CreateSaveDataFileSystemByHashSalt"}, | 711 | {35, nullptr, "CreateSaveDataFileSystemByHashSalt"}, |
| 712 | {36, nullptr, "OpenHostFileSystemWithOption"}, | 712 | {36, nullptr, "OpenHostFileSystemWithOption"}, |
| 713 | {51, &FSP_SRV::OpenSaveDataFileSystem, "OpenSaveDataFileSystem"}, | 713 | {51, &FSP_SRV::OpenSaveDataFileSystem, "OpenSaveDataFileSystem"}, |
| @@ -1107,6 +1107,18 @@ void FSP_SRV::GetProgramIndexForAccessLog(Kernel::HLERequestContext& ctx) { | |||
| 1107 | rb.Push(access_log_program_index); | 1107 | rb.Push(access_log_program_index); |
| 1108 | } | 1108 | } |
| 1109 | 1109 | ||
| 1110 | void FSP_SRV::GetCacheStorageSize(Kernel::HLERequestContext& ctx) { | ||
| 1111 | IPC::RequestParser rp{ctx}; | ||
| 1112 | const auto index{rp.Pop<s32>()}; | ||
| 1113 | |||
| 1114 | LOG_WARNING(Service_FS, "(STUBBED) called with index={}", index); | ||
| 1115 | |||
| 1116 | IPC::ResponseBuilder rb{ctx, 6}; | ||
| 1117 | rb.Push(ResultSuccess); | ||
| 1118 | rb.Push(s64{0}); | ||
| 1119 | rb.Push(s64{0}); | ||
| 1120 | } | ||
| 1121 | |||
| 1110 | class IMultiCommitManager final : public ServiceFramework<IMultiCommitManager> { | 1122 | class IMultiCommitManager final : public ServiceFramework<IMultiCommitManager> { |
| 1111 | public: | 1123 | public: |
| 1112 | explicit IMultiCommitManager(Core::System& system_) | 1124 | explicit IMultiCommitManager(Core::System& system_) |
diff --git a/src/core/hle/service/filesystem/fsp_srv.h b/src/core/hle/service/filesystem/fsp_srv.h index 36f552e05..3d88b97f9 100644 --- a/src/core/hle/service/filesystem/fsp_srv.h +++ b/src/core/hle/service/filesystem/fsp_srv.h | |||
| @@ -54,6 +54,7 @@ private: | |||
| 54 | void OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx); | 54 | void OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx); |
| 55 | void GetProgramIndexForAccessLog(Kernel::HLERequestContext& ctx); | 55 | void GetProgramIndexForAccessLog(Kernel::HLERequestContext& ctx); |
| 56 | void OpenMultiCommitManager(Kernel::HLERequestContext& ctx); | 56 | void OpenMultiCommitManager(Kernel::HLERequestContext& ctx); |
| 57 | void GetCacheStorageSize(Kernel::HLERequestContext& ctx); | ||
| 57 | 58 | ||
| 58 | FileSystemController& fsc; | 59 | FileSystemController& fsc; |
| 59 | const FileSys::ContentProvider& content_provider; | 60 | const FileSys::ContentProvider& content_provider; |
diff --git a/src/core/hle/service/nfp/nfp_types.h b/src/core/hle/service/nfp/nfp_types.h index 867ea2f36..c09f9ddb6 100644 --- a/src/core/hle/service/nfp/nfp_types.h +++ b/src/core/hle/service/nfp/nfp_types.h | |||
| @@ -167,7 +167,7 @@ struct AmiiboDate { | |||
| 167 | 167 | ||
| 168 | bool IsValidDate() const { | 168 | bool IsValidDate() const { |
| 169 | const bool is_day_valid = GetDay() > 0 && GetDay() < 32; | 169 | const bool is_day_valid = GetDay() > 0 && GetDay() < 32; |
| 170 | const bool is_month_valid = GetMonth() >= 0 && GetMonth() < 13; | 170 | const bool is_month_valid = GetMonth() > 0 && GetMonth() < 13; |
| 171 | const bool is_year_valid = GetYear() >= 2000; | 171 | const bool is_year_valid = GetYear() >= 2000; |
| 172 | return is_year_valid && is_month_valid && is_day_valid; | 172 | return is_year_valid && is_month_valid && is_day_valid; |
| 173 | } | 173 | } |
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.cpp b/src/video_core/renderer_vulkan/vk_scheduler.cpp index d96720b80..7934f2a51 100644 --- a/src/video_core/renderer_vulkan/vk_scheduler.cpp +++ b/src/video_core/renderer_vulkan/vk_scheduler.cpp | |||
| @@ -139,6 +139,7 @@ void Scheduler::WorkerThread(std::stop_token stop_token) { | |||
| 139 | Common::SetCurrentThreadName("VulkanWorker"); | 139 | Common::SetCurrentThreadName("VulkanWorker"); |
| 140 | do { | 140 | do { |
| 141 | std::unique_ptr<CommandChunk> work; | 141 | std::unique_ptr<CommandChunk> work; |
| 142 | bool has_submit{false}; | ||
| 142 | { | 143 | { |
| 143 | std::unique_lock lock{work_mutex}; | 144 | std::unique_lock lock{work_mutex}; |
| 144 | if (work_queue.empty()) { | 145 | if (work_queue.empty()) { |
| @@ -150,9 +151,10 @@ void Scheduler::WorkerThread(std::stop_token stop_token) { | |||
| 150 | } | 151 | } |
| 151 | work = std::move(work_queue.front()); | 152 | work = std::move(work_queue.front()); |
| 152 | work_queue.pop(); | 153 | work_queue.pop(); |
| 154 | |||
| 155 | has_submit = work->HasSubmit(); | ||
| 156 | work->ExecuteAll(current_cmdbuf); | ||
| 153 | } | 157 | } |
| 154 | const bool has_submit = work->HasSubmit(); | ||
| 155 | work->ExecuteAll(current_cmdbuf); | ||
| 156 | if (has_submit) { | 158 | if (has_submit) { |
| 157 | AllocateWorkerCommandBuffer(); | 159 | AllocateWorkerCommandBuffer(); |
| 158 | } | 160 | } |
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp index 87e5d0f48..bd69d04a6 100644 --- a/src/yuzu/configuration/configure_graphics.cpp +++ b/src/yuzu/configuration/configure_graphics.cpp | |||
| @@ -57,9 +57,10 @@ ConfigureGraphics::ConfigureGraphics(const Core::System& system_, QWidget* paren | |||
| 57 | UpdateBackgroundColorButton(new_bg_color); | 57 | UpdateBackgroundColorButton(new_bg_color); |
| 58 | }); | 58 | }); |
| 59 | 59 | ||
| 60 | ui->api->setEnabled(!UISettings::values.has_broken_vulkan); | 60 | ui->api->setEnabled(!UISettings::values.has_broken_vulkan && ui->api->isEnabled()); |
| 61 | ui->api_widget->setEnabled(!UISettings::values.has_broken_vulkan || | 61 | ui->api_widget->setEnabled( |
| 62 | Settings::IsConfiguringGlobal()); | 62 | (!UISettings::values.has_broken_vulkan || Settings::IsConfiguringGlobal()) && |
| 63 | ui->api_widget->isEnabled()); | ||
| 63 | ui->bg_label->setVisible(Settings::IsConfiguringGlobal()); | 64 | ui->bg_label->setVisible(Settings::IsConfiguringGlobal()); |
| 64 | ui->bg_combobox->setVisible(!Settings::IsConfiguringGlobal()); | 65 | ui->bg_combobox->setVisible(!Settings::IsConfiguringGlobal()); |
| 65 | } | 66 | } |
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 4146ebc2c..f45a25410 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp | |||
| @@ -262,6 +262,18 @@ static QString PrettyProductName() { | |||
| 262 | return QSysInfo::prettyProductName(); | 262 | return QSysInfo::prettyProductName(); |
| 263 | } | 263 | } |
| 264 | 264 | ||
| 265 | #ifdef _WIN32 | ||
| 266 | static void OverrideWindowsFont() { | ||
| 267 | // Qt5 chooses these fonts on Windows and they have fairly ugly alphanumeric/cyrllic characters | ||
| 268 | // Asking to use "MS Shell Dlg 2" gives better other chars while leaving the Chinese Characters. | ||
| 269 | const QString startup_font = QApplication::font().family(); | ||
| 270 | const QStringList ugly_fonts = {QStringLiteral("SimSun"), QStringLiteral("PMingLiU")}; | ||
| 271 | if (ugly_fonts.contains(startup_font)) { | ||
| 272 | QApplication::setFont(QFont(QStringLiteral("MS Shell Dlg 2"), 9, QFont::Normal)); | ||
| 273 | } | ||
| 274 | } | ||
| 275 | #endif | ||
| 276 | |||
| 265 | bool GMainWindow::CheckDarkMode() { | 277 | bool GMainWindow::CheckDarkMode() { |
| 266 | #ifdef __linux__ | 278 | #ifdef __linux__ |
| 267 | const QPalette test_palette(qApp->palette()); | 279 | const QPalette test_palette(qApp->palette()); |
| @@ -4137,6 +4149,10 @@ int main(int argc, char* argv[]) { | |||
| 4137 | QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity); | 4149 | QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity); |
| 4138 | QApplication app(argc, argv); | 4150 | QApplication app(argc, argv); |
| 4139 | 4151 | ||
| 4152 | #ifdef _WIN32 | ||
| 4153 | OverrideWindowsFont(); | ||
| 4154 | #endif | ||
| 4155 | |||
| 4140 | // Workaround for QTBUG-85409, for Suzhou numerals the number 1 is actually \u3021 | 4156 | // Workaround for QTBUG-85409, for Suzhou numerals the number 1 is actually \u3021 |
| 4141 | // so we can see if we get \u3008 instead | 4157 | // so we can see if we get \u3008 instead |
| 4142 | // TL;DR all other number formats are consecutive in unicode code points | 4158 | // TL;DR all other number formats are consecutive in unicode code points |