aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/vulkan_common/vulkan_wrapper.cpp
AgeCommit message (Collapse)Author
2024-01-29Merge pull request #12439 from FireBurn/vkresultliamwhite
Simplify VkResult lookup
2024-01-24Demote Mesa dozen to the bottom of the device listMatías Locatti
2024-01-22Simplify VkResult lookupMike Lothian
2023-12-23renderer_vulkan: skip SetObjectNameEXT on unsupported driverLiam
2023-12-20vulkan_common: unbreak build with Vulkan-Headers 1.3.274Jan Beich
src/video_core/vulkan_common/vulkan_wrapper.cpp:293:13: error: enumeration value 'VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR' not handled in switch [-Werror,-Wswitch] switch (result) { ^~~~~~
2023-10-24vulkan_common: use highest API versionLiam
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-07-31vma: enable options everywhereAlexandre Bouvier
2023-06-27renderer_vulkan: Add suport for debug report callbackGPUCode
2023-06-26externals: Use cmake subdirectoryGPUCode
2023-06-18renderer_vulkan: Use VMA for buffersGPUCode
2023-06-18renderer_vulkan: Use VMA for imagesGPUCode
2023-04-01externals: update Vulkan-Headers to v1.3.246Jan Beich
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-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-19externals: update Vulkan-Headers to v1.3.238Jan Beich
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-05vulkan_common: further initialization tweaksLiam
2022-12-04vulkan_common: clean up extension usageLiam
2022-12-04vulkan_common: correct usage of timeline semaphore fallbacksLiam
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-05-17video_core: Support new VkResultAlexandre Bouvier
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-27vulkan_wrapper: Fix SetObjectName() always indicating objects as imagesLioncash
We should be using the passed in object type instead.
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-07-22shader: Add denorm flush supportReinUsesLisp
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 interop functionsReinUsesLisp
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: 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.