Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
rsx/vk: Implement dynamic sized memory heaps #6972
Makes the data upload heaps growable which should avoid running out of memory. The old approach was that if the runtime did not predict running out of memory early enough, the allocator would crash with a "working buffer not big enough" error. Now, if there is an out-of-memory event, the heap is garbage collected and a new one takes its place transparently. The last commit in the sequence drastically lowers memory allocation sizes to trigger the out-of-memory condition easier in sensitive games and will be tweaked before merge.
NOTE: My comment in the description was maybe not clear enough, performance loss may happen with the current setup, but that is only because I made allocations too small on purpose for testing. More concerned with stability or lack thereof for the moment.
- The heaps will grow as desired, no need to overallocate to cater to the most resource-hungry games
- The spec does not guarantee that queries are initialized. In fact, it now says all queries must be reset before they are used for the first time.