mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-08 20:58:41 +00:00
VK Layer Settings remove deprecated (#3676)
This commit is contained in:
@@ -187,6 +187,7 @@ static ConfigEntry<int> rcasAttenuation(250);
|
||||
// Vulkan
|
||||
static ConfigEntry<s32> gpuId(-1);
|
||||
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);
|
||||
@@ -471,6 +472,10 @@ bool vkValidationEnabled() {
|
||||
return vkValidation.get();
|
||||
}
|
||||
|
||||
bool vkValidationCoreEnabled() {
|
||||
return vkValidationCore.get();
|
||||
}
|
||||
|
||||
bool vkValidationSyncEnabled() {
|
||||
return vkValidationSync.get();
|
||||
}
|
||||
@@ -928,6 +933,7 @@ void load(const std::filesystem::path& path, bool is_game_specific) {
|
||||
|
||||
gpuId.setFromToml(vk, "gpuId", is_game_specific);
|
||||
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);
|
||||
@@ -1163,6 +1169,7 @@ void save(const std::filesystem::path& path, bool is_game_specific) {
|
||||
data["GPU"]["internalScreenWidth"] = internalScreenWidth.base_value;
|
||||
data["GPU"]["internalScreenHeight"] = internalScreenHeight.base_value;
|
||||
data["GPU"]["patchShaders"] = shouldPatchShaders.base_value;
|
||||
data["Vulkan"]["validation_core"] = vkValidationCore.base_value;
|
||||
data["Vulkan"]["validation_gpu"] = vkValidationGpu.base_value;
|
||||
data["Debug"]["FPSColor"] = isFpsColor.base_value;
|
||||
}
|
||||
@@ -1229,6 +1236,7 @@ void setDefaultValues(bool is_game_specific) {
|
||||
// GS - Vulkan
|
||||
gpuId.set(-1, is_game_specific);
|
||||
vkValidation.set(false, is_game_specific);
|
||||
vkValidationCore.set(false, is_game_specific);
|
||||
vkValidationSync.set(false, is_game_specific);
|
||||
vkValidationGpu.set(false, is_game_specific);
|
||||
vkCrashDiagnostic.set(false, is_game_specific);
|
||||
|
||||
@@ -122,7 +122,8 @@ void setNeoMode(bool enable, bool is_game_specific = false);
|
||||
bool isDevKitConsole();
|
||||
void setDevKitConsole(bool enable, bool is_game_specific = false);
|
||||
|
||||
bool vkValidationGpuEnabled(); // no set
|
||||
bool vkValidationCoreEnabled(); // no set
|
||||
bool vkValidationGpuEnabled(); // no set
|
||||
int getExtraDmemInMbytes();
|
||||
void setExtraDmemInMbytes(int value);
|
||||
bool getIsMotionControlsEnabled();
|
||||
|
||||
@@ -176,6 +176,7 @@ void Emulator::Run(std::filesystem::path file, std::vector<std::string> args,
|
||||
LOG_INFO(Config, "GPU shouldCopyGPUBuffers: {}", Config::copyGPUCmdBuffers());
|
||||
LOG_INFO(Config, "Vulkan gpuId: {}", Config::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 crashDiagnostics: {}", Config::getVkCrashDiagnosticEnabled());
|
||||
|
||||
@@ -304,10 +304,9 @@ 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::vkValidationSyncEnabled() ? vk::True : vk::False;
|
||||
const char* gpuav_mode =
|
||||
Config::vkValidationGpuEnabled() ? "GPU_BASED_GPU_ASSISTED" : "GPU_BASED_NONE";
|
||||
vk::Bool32 enable_gpuav = Config::vkValidationGpuEnabled() ? vk::True : vk::False;
|
||||
|
||||
// Crash diagnostics settings
|
||||
static const auto crash_diagnostic_path =
|
||||
@@ -319,6 +318,13 @@ vk::UniqueInstance CreateInstance(Frontend::WindowSystemType window_type, bool e
|
||||
#endif
|
||||
|
||||
const std::array layer_setings = {
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "validate_core",
|
||||
.type = vk::LayerSettingTypeEXT::eBool32,
|
||||
.valueCount = 1,
|
||||
.pValues = &enable_core,
|
||||
},
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "validate_sync",
|
||||
@@ -335,14 +341,7 @@ vk::UniqueInstance CreateInstance(Frontend::WindowSystemType window_type, bool e
|
||||
},
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "validate_gpu_based",
|
||||
.type = vk::LayerSettingTypeEXT::eString,
|
||||
.valueCount = 1,
|
||||
.pValues = &gpuav_mode,
|
||||
},
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "gpuav_reserve_binding_slot",
|
||||
.pSettingName = "gpuav_enable",
|
||||
.type = vk::LayerSettingTypeEXT::eBool32,
|
||||
.valueCount = 1,
|
||||
.pValues = &enable_gpuav,
|
||||
@@ -356,7 +355,28 @@ vk::UniqueInstance CreateInstance(Frontend::WindowSystemType window_type, bool e
|
||||
},
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "gpuav_validate_indirect_buffer",
|
||||
.pSettingName = "gpuav_buffers_validation",
|
||||
.type = vk::LayerSettingTypeEXT::eBool32,
|
||||
.valueCount = 1,
|
||||
.pValues = &enable_gpuav,
|
||||
},
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "gpuav_indirect_draws_buffers",
|
||||
.type = vk::LayerSettingTypeEXT::eBool32,
|
||||
.valueCount = 1,
|
||||
.pValues = &enable_gpuav,
|
||||
},
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "gpuav_indirect_dispatches_buffers",
|
||||
.type = vk::LayerSettingTypeEXT::eBool32,
|
||||
.valueCount = 1,
|
||||
.pValues = &enable_gpuav,
|
||||
},
|
||||
vk::LayerSettingEXT{
|
||||
.pLayerName = VALIDATION_LAYER_NAME,
|
||||
.pSettingName = "gpuav_indirect_trace_rays_buffers",
|
||||
.type = vk::LayerSettingTypeEXT::eBool32,
|
||||
.valueCount = 1,
|
||||
.pValues = &enable_gpuav,
|
||||
@@ -438,4 +458,4 @@ vk::UniqueDebugUtilsMessengerEXT CreateDebugCallback(vk::Instance instance) {
|
||||
return std::move(messenger);
|
||||
}
|
||||
|
||||
} // namespace Vulkan
|
||||
} // namespace Vulkan
|
||||
Reference in New Issue
Block a user