aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/vulkan_common/vulkan_wrapper.h
AgeCommit message (Collapse)Author
2024-01-22Simplify VkResult lookupMike Lothian
2023-11-12renderer_vulkan: Introduce separate cmd buffer for uploadsGPUCode
2023-10-02vk_present_manager: recreate surface on any surface lossLiam
2023-09-28Merge pull request #11402 from FernandoS27/depth-bias-controlliamwhite
Vulkan: Implement Depth Bias Control
2023-09-23Macro HLE: Add DrawIndirectByteCountFernando Sahmkow
2023-09-23Query Cachge: Fully rework Vulkan's query cacheFernando Sahmkow
2023-09-16Vulkan: Implement Depth Bias ControlFernando Sahmkow
2023-08-27VideoCore: Implement DispatchIndirectFernando Sahmkow
2023-08-02vulkan: centralize configAlexandre Bouvier
2023-07-31vma: enable options everywhereAlexandre Bouvier
2023-06-30vulkan: Use newer VK_EXT_metal_surface to create surface for MoltenVK.Steveice10
2023-06-27renderer_vulkan: Add suport for debug report callbackGPUCode
2023-06-18renderer_vulkan: Use VMA for buffersGPUCode
2023-06-18renderer_vulkan: Use VMA for imagesGPUCode
2023-03-12general: fix spelling mistakesLiam
2023-01-10vulkan_common: fix indirect draw with countLiam
2023-01-05video_core/vulkan: Added `VkPipelineCache` to store Vulkan pipelinesWollnashorn
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.
2023-01-01MacroHLE: Final cleanup and fixes.Fernando Sahmkow
2023-01-01Vulkan: Implement Dynamic State 3Fernando Sahmkow
2023-01-01Vulkan Implement Dynamic State 2 LogicOp and PatchVerticesFernando Sahmkow
2023-01-01Vulkan: Implement Dynamic States 2Fernando Sahmkow
2023-01-01MacroHLE: Implement DrawIndexedIndirect & DrawArraysIndirect.Fernando Sahmkow
2023-01-01MacroHLE: Add MultidrawIndirect HLE Macro.Fernando Sahmkow
2022-12-08video_core: Integrate SMAALiam
Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com> Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
2022-12-04vulkan_common: clean up extension usageLiam
2022-12-04vulkan_common: promote host query reset usage to coreLiam
2022-12-04vulkan_common: promote descriptor update template usage to coreLiam
2022-12-04vulkan_common: promote timeline semaphore usage to coreLiam
2022-10-06vulkan_blitter: Fix pool allocation double free.Byte
2022-04-23general: Convert source file copyright comments over to SPDXMorph
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.
2022-03-25Garbage Collection: Redesign the algorithm to do a better use of memory.Fernando Sahmkow
2022-03-19video_core: Reduce unused includesameerj
2021-07-27renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp
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.
2021-07-22vk_graphics_pipeline: Implement line widthReinUsesLisp
2021-07-22vk_graphics_pipeline: Use VK_KHR_push_descriptor when availableReinUsesLisp
~51% faster on Nvidia compared to previous method.
2021-07-22vulkan: Add VK_EXT_vertex_input_dynamic_state supportReinUsesLisp
Reduces the number of total pipelines generated on Vulkan. Tested on Super Smash Bros. Ultimate.
2021-02-13vk_staging_buffer_pool: Add stream buffer for small uploadsReinUsesLisp
This uses a ring buffer similar to OpenGL's stream buffer for small uploads. This stops us from allocating several small buffers, reducing memory fragmentation and cache locality. It uses dedicated allocations when possible.
2021-02-13vulkan_wrapper: Add memory barrier pipeline barrier helperReinUsesLisp
2021-02-13vulkan_wrapper: Add interop functionsReinUsesLisp
2021-02-13vulkan_wrapper: Pull Windows symbolsReinUsesLisp
2021-02-13gpu: Report renderer errors with exceptionsReinUsesLisp
Instead of using a two step initialization to report errors, initialize the GPU renderer and rasterizer on the constructor and report errors through std::runtime_error.
2021-01-15vulkan_common: Silence missing initializer warningsReinUsesLisp
Silence warnings explicitly initializing all members on construction.
2020-12-31renderer_vulkan: Remove two step initialization on VKDeviceReinUsesLisp
The Vulkan device abstraction either initializes successfully on the constructor or throws a Vulkan exception.
2020-12-31renderer_vulkan: Throw when enumerating devices failsReinUsesLisp
Report device enumeration errors with exceptions to be consistent with other initialization related function calls. Reduces the amount of code to maintain.
2020-12-31renderer_vulkan: Initialize surface in separate fileReinUsesLisp
Move surface initialization code to a separate file. It's unlikely to use this code outside of Vulkan, but keeping platform-specific code (Win32, Xlib, Wayland) in its own translation unit keeps things cleaner.
2020-12-31renderer_vulkan: Create debug callback on separate file and throwReinUsesLisp
Initialize debug callbacks (messenger) from a separate file. This allows sharing code with different backends. Change our Vulkan error handling to use exceptions instead of error codes, simplifying the initialization process.
2020-12-31vulkan_common: Rename renderer_vulkan/wrapper.h to ↵ReinUsesLisp
vulkan_common/vulkan_wrapper.h Allows sharing Vulkan wrapper code between different rendering backends.