diff --git a/rpcs3/Emu/RSX/VK/vkutils/device.cpp b/rpcs3/Emu/RSX/VK/vkutils/device.cpp index a7ce8c9bb5..042617e6af 100644 --- a/rpcs3/Emu/RSX/VK/vkutils/device.cpp +++ b/rpcs3/Emu/RSX/VK/vkutils/device.cpp @@ -678,9 +678,21 @@ namespace vk } if (g_cfg.video.disable_vulkan_mem_allocator) + { m_allocator = std::make_unique(dev, pdev); + } else + { m_allocator = std::make_unique(dev, pdev); + } + + if (pgpu->props.deviceID == 0x13c2) + { + // GTX970 workaround/hack + // The driver reports a full working 4GB of memory which is incorrect. + // Limit to ~3GB to allow vma to avoid running over the headroom of 0.5G. + memory_map.device_local_total_bytes = 3072 * 0x100000; + } } void render_device::destroy()