summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_memory_manager.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-07-17vk_memory_manager: Make use of designated initializers where applicableLioncash1-7/+6
2020-04-22vk_memory_manager: Remove unified memory model flagReinUsesLisp1-12/+1
All drivers (even Intel) seem to have a device local memory type that is not host visible. Remove this flag so all devices follow the same path. This fixes a crash when trying to map to host device local memory on integrated devices.
2020-04-11renderer_vulkan: Drop Vulkan-HppReinUsesLisp1-60/+44
2020-01-06vk_memory_manager: Misc changesReinUsesLisp1-76/+82
* Allocate memory in discrete exponentially increasing chunks until the 128 MiB threshold. Allocations larger thant that increase linearly by 256 MiB (depending on the required size). This allows to use small allocations for small resources. * Move memory maps to a RAII abstraction. To optimize for debugging tools (like RenderDoc) users will map/unmap on usage. If this ever becomes a noticeable overhead (from my profiling it doesn't) we can transparently move to persistent memory maps without harming the API, getting optimal performance for both gameplay and debugging. * Improve messages on exceptional situations. * Fix typos "requeriments" -> "requirements". * Small style changes.
2019-02-27vk_memory_manager: Reorder constructor initializer list in terms of member declaration orderLioncash1-1/+1
Reorders members in the order that they would actually be initialized in. Silences a -Wreorder warning.
2019-02-24vk_memory_manager: Fixup commit interval allocationReinUsesLisp1-2/+1
VKMemoryCommitImpl was using as the end of its interval "begin + end". That ended up wasting memory.
2019-02-19vk_memory_manager: Implement memory managerReinUsesLisp1-0/+253
A memory manager object handles the memory allocations for a device. It allocates chunks of Vulkan memory objects and then suballocates.