summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_resource_manager.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-04-11renderer_vulkan: Drop Vulkan-HppReinUsesLisp1-47/+40
2019-12-19vk_reosurce_manager: Add assert for releasing fencesReinUsesLisp1-0/+1
Notify the programmer when a request to release a fence is invalid because the fence is already free.
2019-12-19vk_resource_manager: Implement VKFenceWatch move constructorReinUsesLisp1-0/+24
This allows us to put VKFenceWatch inside a std::vector without storing it in heap. On move we have to signal the fences where the new protected resource is, adding some overhead.
2019-12-19vk_device: Add entry to catch device lossesReinUsesLisp1-1/+10
VK_NV_device_diagnostic_checkpoints allows us to push data to a Vulkan queue and then query it even after a device loss. This allows us to push the current pipeline object and see what was the call that killed the device.
2019-03-27video_core: Add missing override specifiersLioncash1-1/+1
Ensures that the signatures will always match with the base class. Also silences a few compilation warnings.
2019-02-24vk_resource_manager: Minor VKFenceWatch changesReinUsesLisp1-6/+6
2019-02-14vk_resource_manager: Implement a command buffer pool with VKFencedPoolReinUsesLisp1-0/+52
2019-02-14vk_resource_manager: Add VKFencedPool interfaceReinUsesLisp1-0/+51
Handles a pool of resources protected by fences. Manages resource overflow allocating more resources. This class is intended to be used through inheritance.
2019-02-14vk_resource_manager: Implement VKResourceManager and fence allocatorReinUsesLisp1-0/+62
CommitFence iterates a pool of fences until one is found. If all fences are being used at the same time, allocate more.
2019-02-14vk_resource_manager: Implement VKFenceWatchReinUsesLisp1-0/+38
A fence watch is used to keep track of the usage of a fence and protect a resource or set of resources without having to inherit from their handlers.
2019-02-14vk_resource_manager: Implement VKFenceReinUsesLisp1-0/+68
Fences take ownership of objects, protecting them from GPU-side or driver-side concurrent access. They must be commited from the resource manager. Their usage flow is: commit the fence from the resource manager, protect resources with it and use them, send the fence to an execution queue and Wait for it if needed and then call Release. Used resources will automatically be signaled when they are free to be reused.
2019-02-14vk_resource_manager: Add VKResource interfaceReinUsesLisp1-0/+14
VKResource is an interface that gets signaled by a fence when it is free to be reused.