From e3df7bccac7aed4d114014d666f45e60c9fa06ab Mon Sep 17 00:00:00 2001 From: kd-11 Date: Mon, 23 Dec 2024 03:18:34 +0300 Subject: [PATCH] vk: Selectively enable extended device fault features in logical device creation step --- rpcs3/Emu/RSX/VK/vkutils/device.cpp | 10 ++++++++++ rpcs3/Emu/RSX/VK/vkutils/shared.cpp | 1 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/VK/vkutils/device.cpp b/rpcs3/Emu/RSX/VK/vkutils/device.cpp index e7bb6549f8..25b2a57d62 100644 --- a/rpcs3/Emu/RSX/VK/vkutils/device.cpp +++ b/rpcs3/Emu/RSX/VK/vkutils/device.cpp @@ -732,6 +732,16 @@ namespace vk device.pNext = &synchronization2_info; } + VkPhysicalDeviceFaultFeaturesEXT device_fault_info{}; + if (pgpu->optional_features_support.extended_device_fault) + { + device_fault_info.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT; + device_fault_info.pNext = const_cast(device.pNext); + device_fault_info.deviceFault = VK_TRUE; + device_fault_info.deviceFaultVendorBinary = VK_FALSE; + device_fault_info.pNext = &device_fault_info; + } + if (auto error = vkCreateDevice(*pgpu, &device, nullptr, &dev)) { dump_debug_info(requested_extensions, enabled_features); diff --git a/rpcs3/Emu/RSX/VK/vkutils/shared.cpp b/rpcs3/Emu/RSX/VK/vkutils/shared.cpp index 3a35b97132..41d116d30a 100644 --- a/rpcs3/Emu/RSX/VK/vkutils/shared.cpp +++ b/rpcs3/Emu/RSX/VK/vkutils/shared.cpp @@ -36,7 +36,6 @@ namespace vk .pVendorBinaryData = vendor_binary_data.data() }; - fault_counts.vendorInfoCount = 0; g_render_device->_vkGetDeviceFaultInfoEXT(*g_render_device, &fault_counts, &fault_info); std::string fault_message = fmt::format(