summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_update_descriptor.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core: Replace VKUpdateDescriptorQueue with UpdateDescriptorQueuegerman772022-06-271-3/+3
|
* video_core: Replace VKScheduler with Schedulergerman772022-06-271-3/+3
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* video_core: Reduce unused includesameerj2022-03-191-1/+0
|
* vulkan: Defer descriptor set work to the Vulkan threadReinUsesLisp2021-07-231-1/+3
| | | | | | | Move descriptor lookup and update code to a separate thread. Delaying this removes work from the main GPU thread and allows creating descriptor layouts on another thread. This reduces a bit the workload of the main thread when new pipelines are encountered.
* vulkan: Create pipeline layouts in separate threadsReinUsesLisp2021-07-231-1/+1
|
* vk_update_descriptor: Inline and improve code for binding buffersReinUsesLisp2021-02-131-13/+15
| | | | Allow compilers with our settings inline hot code.
* renderer_vulkan: Rename VKDevice to DeviceReinUsesLisp2021-01-031-3/+3
| | | | | | | The "VK" prefix predates the "Vulkan" namespace. It was carried around the codebase for consistency. "VKDevice" currently is a bad alias with "VkDevice" (only an upcase character of difference) that can cause confusion. Rename all instances of it.
* vulkan_common: Rename renderer_vulkan/wrapper.h to vulkan_common/vulkan_wrapper.hReinUsesLisp2020-12-311-1/+1
| | | | Allows sharing Vulkan wrapper code between different rendering backends.
* video_core: Rewrite the texture cacheReinUsesLisp2020-12-301-13/+17
| | | | | | | | | | | | | | The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage.The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage. This commit aims to address those issues.
* video_core: Resolve more variable shadowing scenarios pt.2Lioncash2020-12-051-1/+1
| | | | | | | Migrates the video core code closer to enabling variable shadowing warnings as errors. This primarily sorts out shadowing occurrences within the Vulkan code.
* vk_update_descriptor: Upload descriptor sets data directlyReinUsesLisp2020-06-181-17/+15
| | | | | Instead of copying to a temporary payload before sending the update task to the worker thread, insert elements to the payload directly.
* vulkan: Remove unnecessary includesLioncash2020-04-291-1/+0
| | | | | | | Reduces some header churn and reduces rebuilds when some header internals change. While we're at it we can also resolve a missing include in buffer_cache.
* buffer_cache: Return handles instead of pointer to handlesReinUsesLisp2020-04-161-11/+5
| | | | | | | | | | | The original idea of returning pointers is that handles can be moved. The problem is that the implementation didn't take that in mind and made everything harder to work with. This commit drops pointer to handles and returns the handles themselves. While it is still true that handles can be invalidated, this way we get an old handle instead of a dangling pointer. This problem can be solved in the future with sparse buffers.
* renderer_vulkan: Drop Vulkan-HppReinUsesLisp2020-04-111-22/+20
|
* vk_update_descriptor: Initial implementationReinUsesLisp2020-01-061-0/+86
The update descriptor is used to store in flat memory a large chunk of staging data used to update descriptor sets through templates. It provides a push interface to easily insert descriptors following the current pipeline. The order used in the descriptor update template has to be implicitly followed. We can catch bugs here using validation layers.