From 09b6b3b71e74a47ae8b8ffe64b1803fc34bae6a2 Mon Sep 17 00:00:00 2001 From: xbzk Date: Sat, 27 Jun 2026 02:52:13 +0200 Subject: xbzk/gpu-logging_qt-controls_android-fix (#4018) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 5af7771f83-Bugfix: Made gpu_log_level global-only (was per-game switchable). Fixed Android non-determinism where a per-game profile silently overrode the global to Off and trapped GPULogger::Initialize() in a dead state, making shader dumps fail invisibly. Android per-game UI now hides the whole GPU logging block; Qt UI is untouched (global-only anyway). bf4aabe8ab-Refactor/Cleanup: Removed gpu_logging_enabled master toggle as redundant with gpu_log_level == Off. Introduced GPU::Logging::IsActive() helper, replaced 14 call sites across vk_*.cpp. Refactored LogShaderCompilation() to be text-only and extracted SPIR-V dumping into a standalone GPU::Logging::DumpSpirvShader() free function. No singleton dependency, gated only by gpu_log_shader_dumps. Now gpu_log_level and gpu_log_shader_dumps are fully orthogonal. Cleaned up Android (BooleanSetting, SettingsItem, presenter, 7 locale string files). 865a1c5027-Refactor: Renamed dump_shaders → dump_guest_shaders to disambiguate from gpu_log_shader_dumps. Updated Qt label to "Dump Guest (Maxwell) Shaders" and rewrote the tooltip to mention .ash, the DumpDir/shaders/ location, and nvdisasm. 7cab456fdf-Feature: Added Qt UI control for GPU log level in the Logging session. Added gpu_log_shader_dumps checkbox to the Graphics column right below dump_guest_shaders. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4018 Reviewed-by: MaranBr --- src/common/settings.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/common/settings.cpp') diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 61f9acb1e7..9b582f1c2a 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -54,7 +54,6 @@ SWITCHABLE(CpuBackend, true); SWITCHABLE(CpuAccuracy, true); SWITCHABLE(FullscreenMode, true); SWITCHABLE(GpuAccuracy, true); -SWITCHABLE(GpuLogLevel, true); SWITCHABLE(Language, true); SWITCHABLE(MemoryLayout, true); SWITCHABLE(NvdecEmulation, false); @@ -213,6 +212,16 @@ bool IsNceEnabled() { return is_nce_enabled; } +static u64 current_program_id = 0; + +void SetCurrentProgramID(u64 program_id) { + current_program_id = program_id; +} + +u64 GetCurrentProgramID() { + return current_program_id; +} + bool IsDockedMode() { return values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked; } -- cgit v1.2.3