diff options
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/settings.h | 5 | ||||
| -rw-r--r-- | src/common/threadsafe_queue.h | 10 | ||||
| -rw-r--r-- | src/common/x64/xbyak_abi.h | 2 | ||||
| -rw-r--r-- | src/common/x64/xbyak_util.h | 2 |
4 files changed, 9 insertions, 10 deletions
diff --git a/src/common/settings.h b/src/common/settings.h index 1ba9b606c..20769d310 100644 --- a/src/common/settings.h +++ b/src/common/settings.h | |||
| @@ -489,7 +489,7 @@ struct Values { | |||
| 489 | std::chrono::seconds custom_rtc_differential; | 489 | std::chrono::seconds custom_rtc_differential; |
| 490 | 490 | ||
| 491 | BasicSetting<s32> current_user{0, "current_user"}; | 491 | BasicSetting<s32> current_user{0, "current_user"}; |
| 492 | RangedSetting<s32> language_index{1, 0, 16, "language_index"}; | 492 | RangedSetting<s32> language_index{1, 0, 17, "language_index"}; |
| 493 | RangedSetting<s32> region_index{1, 0, 6, "region_index"}; | 493 | RangedSetting<s32> region_index{1, 0, 6, "region_index"}; |
| 494 | RangedSetting<s32> time_zone_index{0, 0, 45, "time_zone_index"}; | 494 | RangedSetting<s32> time_zone_index{0, 0, 45, "time_zone_index"}; |
| 495 | RangedSetting<s32> sound_index{1, 0, 2, "sound_index"}; | 495 | RangedSetting<s32> sound_index{1, 0, 2, "sound_index"}; |
| @@ -558,9 +558,10 @@ struct Values { | |||
| 558 | BasicSetting<std::string> log_filter{"*:Info", "log_filter"}; | 558 | BasicSetting<std::string> log_filter{"*:Info", "log_filter"}; |
| 559 | BasicSetting<bool> use_dev_keys{false, "use_dev_keys"}; | 559 | BasicSetting<bool> use_dev_keys{false, "use_dev_keys"}; |
| 560 | 560 | ||
| 561 | // Services | 561 | // Network |
| 562 | BasicSetting<std::string> bcat_backend{"none", "bcat_backend"}; | 562 | BasicSetting<std::string> bcat_backend{"none", "bcat_backend"}; |
| 563 | BasicSetting<bool> bcat_boxcat_local{false, "bcat_boxcat_local"}; | 563 | BasicSetting<bool> bcat_boxcat_local{false, "bcat_boxcat_local"}; |
| 564 | BasicSetting<std::string> network_interface{std::string(), "network_interface"}; | ||
| 564 | 565 | ||
| 565 | // WebService | 566 | // WebService |
| 566 | BasicSetting<bool> enable_telemetry{true, "enable_telemetry"}; | 567 | BasicSetting<bool> enable_telemetry{true, "enable_telemetry"}; |
diff --git a/src/common/threadsafe_queue.h b/src/common/threadsafe_queue.h index ad04df8ca..8430b9778 100644 --- a/src/common/threadsafe_queue.h +++ b/src/common/threadsafe_queue.h | |||
| @@ -46,15 +46,13 @@ public: | |||
| 46 | ElementPtr* new_ptr = new ElementPtr(); | 46 | ElementPtr* new_ptr = new ElementPtr(); |
| 47 | write_ptr->next.store(new_ptr, std::memory_order_release); | 47 | write_ptr->next.store(new_ptr, std::memory_order_release); |
| 48 | write_ptr = new_ptr; | 48 | write_ptr = new_ptr; |
| 49 | ++size; | ||
| 49 | 50 | ||
| 50 | const size_t previous_size{size++}; | 51 | // cv_mutex must be held or else there will be a missed wakeup if the other thread is in the |
| 51 | 52 | // line before cv.wait | |
| 52 | // Acquire the mutex and then immediately release it as a fence. | ||
| 53 | // TODO(bunnei): This can be replaced with C++20 waitable atomics when properly supported. | 53 | // TODO(bunnei): This can be replaced with C++20 waitable atomics when properly supported. |
| 54 | // See discussion on https://github.com/yuzu-emu/yuzu/pull/3173 for details. | 54 | // See discussion on https://github.com/yuzu-emu/yuzu/pull/3173 for details. |
| 55 | if (previous_size == 0) { | 55 | std::lock_guard lock{cv_mutex}; |
| 56 | std::lock_guard lock{cv_mutex}; | ||
| 57 | } | ||
| 58 | cv.notify_one(); | 56 | cv.notify_one(); |
| 59 | } | 57 | } |
| 60 | 58 | ||
diff --git a/src/common/x64/xbyak_abi.h b/src/common/x64/xbyak_abi.h index c2c9b6134..0ddf9b83e 100644 --- a/src/common/x64/xbyak_abi.h +++ b/src/common/x64/xbyak_abi.h | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | #include <bitset> | 7 | #include <bitset> |
| 8 | #include <initializer_list> | 8 | #include <initializer_list> |
| 9 | #include <xbyak.h> | 9 | #include <xbyak/xbyak.h> |
| 10 | #include "common/assert.h" | 10 | #include "common/assert.h" |
| 11 | 11 | ||
| 12 | namespace Common::X64 { | 12 | namespace Common::X64 { |
diff --git a/src/common/x64/xbyak_util.h b/src/common/x64/xbyak_util.h index df17f8cbe..44d2558f1 100644 --- a/src/common/x64/xbyak_util.h +++ b/src/common/x64/xbyak_util.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <type_traits> | 7 | #include <type_traits> |
| 8 | #include <xbyak.h> | 8 | #include <xbyak/xbyak.h> |
| 9 | #include "common/x64/xbyak_abi.h" | 9 | #include "common/x64/xbyak_abi.h" |
| 10 | 10 | ||
| 11 | namespace Common::X64 { | 11 | namespace Common::X64 { |