summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_memory_manager.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* vk_memory_manager: Make use of designated initializers where applicableLioncash2020-07-171-7/+6
|
* vk_memory_manager: Remove unified memory model flagReinUsesLisp2020-04-221-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.
* renderer_vulkan: Drop Vulkan-HppReinUsesLisp2020-04-111-60/+44
|
* vk_memory_manager: Misc changesReinUsesLisp2020-01-061-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.
* vk_memory_manager: Reorder constructor initializer list in terms of member declaration orderLioncash2019-02-271-1/+1
| | | | | Reorders members in the order that they would actually be initialized in. Silences a -Wreorder warning.
* vk_memory_manager: Fixup commit interval allocationReinUsesLisp2019-02-241-2/+1
| | | | | VKMemoryCommitImpl was using as the end of its interval "begin + end". That ended up wasting memory.
* vk_memory_manager: Implement memory managerReinUsesLisp2019-02-191-0/+253
A memory manager object handles the memory allocations for a device. It allocates chunks of Vulkan memory objects and then suballocates.