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