vkValidation*

This commit is contained in:
georgemoralis 2026-01-08 09:17:13 +02:00
parent 164dba99e3
commit 343288f340
5 changed files with 15 additions and 64 deletions

View File

@ -159,10 +159,6 @@ static ConfigEntry<bool> shouldPatchShaders(false);
static ConfigEntry<u32> vblankFrequency(60);
// Vulkan
static ConfigEntry<bool> vkValidation(false);
static ConfigEntry<bool> vkValidationCore(true);
static ConfigEntry<bool> vkValidationSync(false);
static ConfigEntry<bool> vkValidationGpu(false);
static ConfigEntry<bool> vkCrashDiagnostic(false);
static ConfigEntry<bool> vkHostMarkers(false);
static ConfigEntry<bool> 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);

View File

@ -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();

View File

@ -223,10 +223,13 @@ void Emulator::Run(std::filesystem::path file, std::vector<std::string> 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());

View File

@ -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 =

View File

@ -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},