Skip to content

Vulkan device loss resilience - we should try to recover #17434

@hrydgard

Description

@hrydgard

We still get the occasional crash report that's a Vulkan "device loss", see #17426 . This generally means that the GPU has crashed, or that the driver failed to perform some critical operation like allocating memory for itself.

There's actually no reason we can't try to just recreate the Vulkan device when this happens, and see if we can get it up and running again. Likely, a lot of the time it'll work, at least for a while. It'll just take a little bit of state tracking and logic.

If we can detect that the device loss was due to out-of-memory, we could then simply disable stuff like texture replacement/upscaling and reduce the render resolution automatically, in the hopes that we'll then fit into memory.

If we lose the device very frequently, like say five times in a minute, we should probably assert, or at least stop the running game and go back to the menu, then we can also LOG_REPORT for example.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions