summaryrefslogtreecommitdiff
path: root/src/core/telemetry_session.cpp
diff options
context:
space:
mode:
authorGravatar ameerj2021-08-08 16:56:40 -0400
committerGravatar ameerj2021-08-16 14:40:53 -0400
commitcd016d3cb5191b9f4f2756e440a6aa67e577c414 (patch)
treee96e08167a350f05feb9c081950be305612d9113 /src/core/telemetry_session.cpp
parentcodec: Improve libav memory alloc and cleanup (diff)
downloadyuzu-cd016d3cb5191b9f4f2756e440a6aa67e577c414.tar.gz
yuzu-cd016d3cb5191b9f4f2756e440a6aa67e577c414.tar.xz
yuzu-cd016d3cb5191b9f4f2756e440a6aa67e577c414.zip
configure_graphics: Add GPU nvdec decoding as an option
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference. Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
Diffstat (limited to 'src/core/telemetry_session.cpp')
-rw-r--r--src/core/telemetry_session.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp
index 5a8cfd301..1f1607998 100644
--- a/src/core/telemetry_session.cpp
+++ b/src/core/telemetry_session.cpp
@@ -72,6 +72,18 @@ static const char* TranslateGPUAccuracyLevel(Settings::GPUAccuracy backend) {
72 return "Unknown"; 72 return "Unknown";
73} 73}
74 74
75static const char* TranslateNvdecEmulation(Settings::NvdecEmulation backend) {
76 switch (backend) {
77 case Settings::NvdecEmulation::Off:
78 return "Off";
79 case Settings::NvdecEmulation::CPU:
80 return "CPU";
81 case Settings::NvdecEmulation::GPU:
82 return "GPU";
83 }
84 return "Unknown";
85}
86
75u64 GetTelemetryId() { 87u64 GetTelemetryId() {
76 u64 telemetry_id{}; 88 u64 telemetry_id{};
77 const auto filename = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ConfigDir) / "telemetry_id"; 89 const auto filename = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ConfigDir) / "telemetry_id";
@@ -229,8 +241,8 @@ void TelemetrySession::AddInitialInfo(Loader::AppLoader& app_loader,
229 TranslateGPUAccuracyLevel(Settings::values.gpu_accuracy.GetValue())); 241 TranslateGPUAccuracyLevel(Settings::values.gpu_accuracy.GetValue()));
230 AddField(field_type, "Renderer_UseAsynchronousGpuEmulation", 242 AddField(field_type, "Renderer_UseAsynchronousGpuEmulation",
231 Settings::values.use_asynchronous_gpu_emulation.GetValue()); 243 Settings::values.use_asynchronous_gpu_emulation.GetValue());
232 AddField(field_type, "Renderer_UseNvdecEmulation", 244 AddField(field_type, "Renderer_NvdecEmulation",
233 Settings::values.use_nvdec_emulation.GetValue()); 245 TranslateNvdecEmulation(Settings::values.nvdec_emulation.GetValue()));
234 AddField(field_type, "Renderer_AccelerateASTC", Settings::values.accelerate_astc.GetValue()); 246 AddField(field_type, "Renderer_AccelerateASTC", Settings::values.accelerate_astc.GetValue());
235 AddField(field_type, "Renderer_UseVsync", Settings::values.use_vsync.GetValue()); 247 AddField(field_type, "Renderer_UseVsync", Settings::values.use_vsync.GetValue());
236 AddField(field_type, "Renderer_ShaderBackend", 248 AddField(field_type, "Renderer_ShaderBackend",