summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_compute_pipeline.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* renderer_vulkan: separate guest and host compute descriptor queuesLiam2023-05-101-2/+2
|
* video_core/vulkan: Added `VkPipelineCache` to store Vulkan pipelinesWollnashorn2023-01-051-1/+3
| | | | | | As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk. These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
* vulkan_common: promote descriptor update template usage to coreLiam2022-12-041-1/+1
|
* video_core: Replace VKUpdateDescriptorQueue with UpdateDescriptorQueuegerman772022-06-271-2/+2
|
* video_core: Replace VKScheduler with Schedulergerman772022-06-271-2/+2
|
* 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
|
* renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp2021-07-281-0/+2
| | | | | | | | | | | | | | | | Use VK_KHR_pipeline_executable_properties when enabled and available to log statistics about the pipeline cache in a game. For example, this is on Turing GPUs when generating a pipeline cache from Super Smash Bros. Ultimate: Average pipeline statistics ========================================== Code size: 6433.167 Register count: 32.939 More advanced results could be presented, at the moment it's just an average of all 3D and compute pipelines.
* vk_pipeline_cache,shader_notify: Add shader notificationsReinUsesLisp2021-07-231-1/+6
|
* buffer_cache: Reduce uniform buffer size from shader usageReinUsesLisp2021-07-231-0/+2
| | | | Increases performance significantly on certain titles.
* vulkan: Defer descriptor set work to the Vulkan threadReinUsesLisp2021-07-231-0/+1
| | | | | | | 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: Rework descriptor allocation algorithmReinUsesLisp2021-07-231-1/+1
| | | | | | Create multiple descriptor pools on demand. There are some degrees of freedom what is considered a compatible pool to avoid wasting large pools on small descriptors.
* shader: Address feedback + clang formatlat9nq2021-07-231-2/+2
|
* shader: Remove atomic flags and use mutex + cond variable for pipelinesReinUsesLisp2021-07-231-1/+6
|
* vulkan: Build pipelines in parallel at runtimeReinUsesLisp2021-07-231-18/+12
| | | | | Wait from the worker thread for a pipeline to build before binding it to the command buffer. This allows queueing pipelines to multiple threads.
* shader: Add partial rasterizer integrationReinUsesLisp2021-07-231-2/+1
|
* shader: Initial support for textures and TEXReinUsesLisp2021-07-231-0/+4
|
* shader: Primitive Vulkan integrationReinUsesLisp2021-07-231-5/+38
|
* shader: Remove old shader managementReinUsesLisp2021-07-231-44/+3
|
* 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: Resolve more variable shadowing scenarios pt.2Lioncash2020-12-051-4/+4
| | | | | | | Migrates the video core code closer to enabling variable shadowing warnings as errors. This primarily sorts out shadowing occurrences within the Vulkan code.
* vulkan: Remove unnecessary includesLioncash2020-04-291-2/+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.
* renderer_vulkan: Drop Vulkan-HppReinUsesLisp2020-04-111-15/+15
|
* vk_compute_pipeline: Initial implementationReinUsesLisp2020-01-071-0/+66
This abstraction represents a Vulkan compute pipeline.