Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support lost allocations #2

Open
crud89 opened this issue Jul 8, 2020 · 0 comments
Open

Support lost allocations #2

crud89 opened this issue Jul 8, 2020 · 0 comments
Labels
Feature Request New feature or request. Priority: Low A low priority issue. Vulkan 🌋 The issue involves the Vulkan backend.

Comments

@crud89
Copy link
Owner

crud89 commented Jul 8, 2020

In Vulkan, it is valid to keep certain objects (like textures) in memory and let them run out of date. The driver might then re-allocate the memory and move it from the VRAM to the DRAM. Vulkan Memory Allocator has builtin support for this scenario. So instead of relying on custom streaming, we should implement support for lost allocations. Instead of counting active references, a streaming-implementation could then be a chain of fallbacks:

  • When required, transfer a resource to the VRAM.
  • When not required any longer, VMA may move the resource out of VRAM.
  • If the resource is requested again, try to transfer it back to the VRAM (fail if not possible)
  • If the DRAM pressure is too high, release lost allocations.
@crud89 crud89 added Vulkan 🌋 The issue involves the Vulkan backend. Priority: Medium A issue with normal priority. Feature Request New feature or request. labels Jul 9, 2020
@crud89 crud89 added this to the Alpha #02 milestone May 3, 2021
@crud89 crud89 removed this from the Alpha #02 milestone Jun 23, 2021
@crud89 crud89 added Priority: Low A low priority issue. and removed Priority: Medium A issue with normal priority. labels Aug 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature or request. Priority: Low A low priority issue. Vulkan 🌋 The issue involves the Vulkan backend.
Projects
Status: Backlog
Development

No branches or pull requests

1 participant