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(