mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-10 11:42:04 -06:00
vkValidation*
This commit is contained in:
parent
164dba99e3
commit
343288f340
@ -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);
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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 =
|
||||
|
||||
@ -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},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user