From 343288f3403e2cb9577993d31d50b22578901dc3 Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Thu, 8 Jan 2026 09:17:13 +0200 Subject: [PATCH] vkValidation* --- src/common/config.cpp | 48 ------------------- src/common/config.h | 8 ---- src/emulator.cpp | 11 +++-- .../renderer_vulkan/vk_platform.cpp | 9 ++-- .../renderer_vulkan/vk_presenter.cpp | 3 +- 5 files changed, 15 insertions(+), 64 deletions(-) diff --git a/src/common/config.cpp b/src/common/config.cpp index 856451ae5..008559be9 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -159,10 +159,6 @@ static ConfigEntry shouldPatchShaders(false); static ConfigEntry vblankFrequency(60); // Vulkan -static ConfigEntry vkValidation(false); -static ConfigEntry vkValidationCore(true); -static ConfigEntry vkValidationSync(false); -static ConfigEntry vkValidationGpu(false); static ConfigEntry vkCrashDiagnostic(false); static ConfigEntry vkHostMarkers(false); static ConfigEntry vkGuestMarkers(false); @@ -306,22 +302,6 @@ u32 vblankFreq() { return vblankFrequency.get(); } -bool vkValidationEnabled() { - return vkValidation.get(); -} - -bool vkValidationCoreEnabled() { - return vkValidationCore.get(); -} - -bool vkValidationSyncEnabled() { - return vkValidationSync.get(); -} - -bool vkValidationGpuEnabled() { - return vkValidationGpu.get(); -} - bool getVkCrashDiagnosticEnabled() { return vkCrashDiagnostic.get(); } @@ -350,22 +330,6 @@ void setDumpShaders(bool enable, bool is_game_specific) { shouldDumpShaders.set(enable, is_game_specific); } -void setVkValidation(bool enable, bool is_game_specific) { - vkValidation.set(enable, is_game_specific); -} - -void setVkSyncValidation(bool enable, bool is_game_specific) { - vkValidationSync.set(enable, is_game_specific); -} - -void setVkCoreValidation(bool enable, bool is_game_specific) { - vkValidationCore.set(enable, is_game_specific); -} - -void setVkGpuValidation(bool enable, bool is_game_specific) { - vkValidationGpu.set(enable, is_game_specific); -} - void setRdocEnabled(bool enable, bool is_game_specific) { rdocEnable.set(enable, is_game_specific); } @@ -494,10 +458,6 @@ void load(const std::filesystem::path& path, bool is_game_specific) { if (data.contains("Vulkan")) { const toml::value& vk = data.at("Vulkan"); - vkValidation.setFromToml(vk, "validation", is_game_specific); - vkValidationCore.setFromToml(vk, "validation_core", is_game_specific); - vkValidationSync.setFromToml(vk, "validation_sync", is_game_specific); - vkValidationGpu.setFromToml(vk, "validation_gpu", is_game_specific); vkCrashDiagnostic.setFromToml(vk, "crashDiagnostic", is_game_specific); vkHostMarkers.setFromToml(vk, "hostMarkers", is_game_specific); vkGuestMarkers.setFromToml(vk, "guestMarkers", is_game_specific); @@ -597,10 +557,6 @@ void save(const std::filesystem::path& path, bool is_game_specific) { shouldDumpShaders.setTomlValue(data, "GPU", "dumpShaders", is_game_specific); vblankFrequency.setTomlValue(data, "GPU", "vblankFrequency", is_game_specific); - vkValidation.setTomlValue(data, "Vulkan", "validation", is_game_specific); - vkValidationSync.setTomlValue(data, "Vulkan", "validation_sync", is_game_specific); - vkValidationCore.setTomlValue(data, "Vulkan", "validation_core", is_game_specific); - vkValidationGpu.setTomlValue(data, "Vulkan", "validation_gpu", is_game_specific); vkCrashDiagnostic.setTomlValue(data, "Vulkan", "crashDiagnostic", is_game_specific); vkHostMarkers.setTomlValue(data, "Vulkan", "hostMarkers", is_game_specific); vkGuestMarkers.setTomlValue(data, "Vulkan", "guestMarkers", is_game_specific); @@ -655,10 +611,6 @@ void setDefaultValues(bool is_game_specific) { vblankFrequency.setDefault(is_game_specific); // GS - Vulkan - vkValidation.set(false, is_game_specific); - vkValidationCore.set(true, is_game_specific); - vkValidationSync.set(false, is_game_specific); - vkValidationGpu.set(false, is_game_specific); vkCrashDiagnostic.set(false, is_game_specific); vkHostMarkers.set(false, is_game_specific); vkGuestMarkers.set(false, is_game_specific); diff --git a/src/common/config.h b/src/common/config.h index 75b6d1d04..a4758cdfb 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -37,14 +37,6 @@ u32 vblankFreq(); void setVblankFreq(u32 value, bool is_game_specific = false); s16 getCursorState(); void setCursorState(s16 cursorState, bool is_game_specific = false); -bool vkValidationEnabled(); -void setVkValidation(bool enable, bool is_game_specific = false); -bool vkValidationSyncEnabled(); -void setVkSyncValidation(bool enable, bool is_game_specific = false); -bool vkValidationGpuEnabled(); -void setVkGpuValidation(bool enable, bool is_game_specific = false); -bool vkValidationCoreEnabled(); -void setVkCoreValidation(bool enable, bool is_game_specific = false); bool getVkCrashDiagnosticEnabled(); void setVkCrashDiagnosticEnabled(bool enable, bool is_game_specific = false); bool getVkHostMarkersEnabled(); diff --git a/src/emulator.cpp b/src/emulator.cpp index 78b7caed4..48fd7e03b 100644 --- a/src/emulator.cpp +++ b/src/emulator.cpp @@ -223,10 +223,13 @@ void Emulator::Run(std::filesystem::path file, std::vector args, LOG_INFO(Config, "GPU shouldCopyGPUBuffers: {}", EmulatorSettings::GetInstance()->IsCopyGpuBuffers()); LOG_INFO(Config, "Vulkan gpuId: {}", EmulatorSettings::GetInstance()->GetGpuId()); - LOG_INFO(Config, "Vulkan vkValidation: {}", Config::vkValidationEnabled()); - LOG_INFO(Config, "Vulkan vkValidationCore: {}", Config::vkValidationCoreEnabled()); - LOG_INFO(Config, "Vulkan vkValidationSync: {}", Config::vkValidationSyncEnabled()); - LOG_INFO(Config, "Vulkan vkValidationGpu: {}", Config::vkValidationGpuEnabled()); + LOG_INFO(Config, "Vulkan vkValidation: {}", + EmulatorSettings::GetInstance()->IsVkValidationEnabled()); + LOG_INFO(Config, "Vulkan vkValidationCore: {}", + EmulatorSettings::GetInstance()->IsVkValidationCoreEnabled()); + LOG_INFO(Config, "Vulkan vkValidationSync: {}", EmulatorSettings::GetInstance()->IsVkValidationSyncEnabled()); + LOG_INFO(Config, "Vulkan vkValidationGpu: {}", + EmulatorSettings::GetInstance()->IsVkValidationGpuEnabled()); LOG_INFO(Config, "Vulkan crashDiagnostics: {}", Config::getVkCrashDiagnosticEnabled()); LOG_INFO(Config, "Vulkan hostMarkers: {}", Config::getVkHostMarkersEnabled()); LOG_INFO(Config, "Vulkan guestMarkers: {}", Config::getVkGuestMarkersEnabled()); diff --git a/src/video_core/renderer_vulkan/vk_platform.cpp b/src/video_core/renderer_vulkan/vk_platform.cpp index d669fb7ea..e4437fcd3 100644 --- a/src/video_core/renderer_vulkan/vk_platform.cpp +++ b/src/video_core/renderer_vulkan/vk_platform.cpp @@ -307,9 +307,12 @@ vk::UniqueInstance CreateInstance(Frontend::WindowSystemType window_type, bool e LOG_INFO(Render_Vulkan, "Enabled instance layers: {}", layers_string); // Validation settings - vk::Bool32 enable_core = Config::vkValidationCoreEnabled() ? vk::True : vk::False; - vk::Bool32 enable_sync = Config::vkValidationSyncEnabled() ? vk::True : vk::False; - vk::Bool32 enable_gpuav = Config::vkValidationGpuEnabled() ? vk::True : vk::False; + vk::Bool32 enable_core = + EmulatorSettings::GetInstance()->IsVkValidationCoreEnabled() ? vk::True : vk::False; + vk::Bool32 enable_sync = + EmulatorSettings::GetInstance()->IsVkValidationSyncEnabled() ? vk::True : vk::False; + vk::Bool32 enable_gpuav = + EmulatorSettings::GetInstance()->IsVkValidationGpuEnabled() ? vk::True : vk::False; // Crash diagnostics settings static const auto crash_diagnostic_path = diff --git a/src/video_core/renderer_vulkan/vk_presenter.cpp b/src/video_core/renderer_vulkan/vk_presenter.cpp index 1a4936348..26fed2c69 100644 --- a/src/video_core/renderer_vulkan/vk_presenter.cpp +++ b/src/video_core/renderer_vulkan/vk_presenter.cpp @@ -105,7 +105,8 @@ static vk::Rect2D FitImage(s32 frame_width, s32 frame_height, s32 swapchain_widt Presenter::Presenter(Frontend::WindowSDL& window_, AmdGpu::Liverpool* liverpool_) : window{window_}, liverpool{liverpool_}, - instance{window, EmulatorSettings::GetInstance()->GetGpuId(), Config::vkValidationEnabled(), + instance{window, EmulatorSettings::GetInstance()->GetGpuId(), + EmulatorSettings::GetInstance()->IsVkValidationEnabled(), Config::getVkCrashDiagnosticEnabled()}, draw_scheduler{instance}, present_scheduler{instance}, flip_scheduler{instance}, swapchain{instance, window},