summaryrefslogtreecommitdiff
path: root/src/core/telemetry_session.cpp
diff options
context:
space:
mode:
authorGravatar lat9nq2023-04-30 15:39:00 -0400
committerGravatar lat9nq2023-05-02 21:51:29 -0400
commit6f0929df82be77f116988cf16cde4ebbc5f978dc (patch)
treeb12668b13bce18dc9b628cf77b2d935ca0ab4f71 /src/core/telemetry_session.cpp
parentMerge pull request #9973 from GPUCode/async-present (diff)
downloadyuzu-6f0929df82be77f116988cf16cde4ebbc5f978dc.tar.gz
yuzu-6f0929df82be77f116988cf16cde4ebbc5f978dc.tar.xz
yuzu-6f0929df82be77f116988cf16cde4ebbc5f978dc.zip
configuration: Expose separate swap present modes
Previously, yuzu would try and guess which vsync mode to use given different scenarios, but apparently we didn't always get it right. This exposes the separate modes in a drop-down the user can select. If a mode isn't available in Vulkan, it defaults to FIFO.
Diffstat (limited to 'src/core/telemetry_session.cpp')
-rw-r--r--src/core/telemetry_session.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp
index 9178b00ca..6ec8e440c 100644
--- a/src/core/telemetry_session.cpp
+++ b/src/core/telemetry_session.cpp
@@ -85,6 +85,18 @@ static const char* TranslateNvdecEmulation(Settings::NvdecEmulation backend) {
85 return "Unknown"; 85 return "Unknown";
86} 86}
87 87
88constexpr const char* TranslateVSyncMode(Settings::VSyncMode mode) {
89 switch (mode) {
90 case Settings::VSyncMode::Immediate:
91 return "Immediate";
92 case Settings::VSyncMode::FIFO:
93 return "FIFO";
94 case Settings::VSyncMode::Mailbox:
95 return "Mailbox";
96 }
97 return "Unknown";
98}
99
88u64 GetTelemetryId() { 100u64 GetTelemetryId() {
89 u64 telemetry_id{}; 101 u64 telemetry_id{};
90 const auto filename = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ConfigDir) / "telemetry_id"; 102 const auto filename = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ConfigDir) / "telemetry_id";
@@ -241,7 +253,8 @@ void TelemetrySession::AddInitialInfo(Loader::AppLoader& app_loader,
241 AddField(field_type, "Renderer_NvdecEmulation", 253 AddField(field_type, "Renderer_NvdecEmulation",
242 TranslateNvdecEmulation(Settings::values.nvdec_emulation.GetValue())); 254 TranslateNvdecEmulation(Settings::values.nvdec_emulation.GetValue()));
243 AddField(field_type, "Renderer_AccelerateASTC", Settings::values.accelerate_astc.GetValue()); 255 AddField(field_type, "Renderer_AccelerateASTC", Settings::values.accelerate_astc.GetValue());
244 AddField(field_type, "Renderer_UseVsync", Settings::values.use_vsync.GetValue()); 256 AddField(field_type, "Renderer_UseVsync",
257 TranslateVSyncMode(Settings::values.vsync_mode.GetValue()));
245 AddField(field_type, "Renderer_ShaderBackend", 258 AddField(field_type, "Renderer_ShaderBackend",
246 static_cast<u32>(Settings::values.shader_backend.GetValue())); 259 static_cast<u32>(Settings::values.shader_backend.GetValue()));
247 AddField(field_type, "Renderer_UseAsynchronousShaders", 260 AddField(field_type, "Renderer_UseAsynchronousShaders",