summaryrefslogtreecommitdiffstats
path: root/src/video_core/vulkan_common/vulkan_wrapper.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core: Integrate SMAALiam2022-12-081-0/+6
| | | | | Co-authored-by: goldenx86 <goldenx86@users.noreply.github.com> Co-authored-by: BreadFish64 <breadfish64@users.noreply.github.com>
* vulkan_common: clean up extension usageLiam2022-12-041-4/+7
|
* vulkan_common: promote host query reset usage to coreLiam2022-12-041-3/+3
|
* vulkan_common: promote descriptor update template usage to coreLiam2022-12-041-10/+10
|
* vulkan_common: promote timeline semaphore usage to coreLiam2022-12-041-6/+6
|
* vulkan_blitter: Fix pool allocation double free.Byte2022-10-061-20/+0
|
* 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.
* Garbage Collection: Redesign the algorithm to do a better use of memory.Fernando Sahmkow2022-03-251-1/+3
|
* video_core: Reduce unused includesameerj2022-03-191-1/+0
|
* renderer_vulkan: Add setting to log pipeline statisticsReinUsesLisp2021-07-281-0/+8
| | | | | | | | | | | | | | | | 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_graphics_pipeline: Implement line widthReinUsesLisp2021-07-231-0/+5
|
* vk_graphics_pipeline: Use VK_KHR_push_descriptor when availableReinUsesLisp2021-07-231-12/+19
| | | | ~51% faster on Nvidia compared to previous method.
* vulkan: Add VK_EXT_vertex_input_dynamic_state supportReinUsesLisp2021-07-231-0/+8
| | | | | Reduces the number of total pipelines generated on Vulkan. Tested on Super Smash Bros. Ultimate.
* vk_staging_buffer_pool: Add stream buffer for small uploadsReinUsesLisp2021-02-131-2/+3
| | | | | | | | 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.
* vulkan_wrapper: Add memory barrier pipeline barrier helperReinUsesLisp2021-02-131-0/+6
|
* vulkan_wrapper: Add interop functionsReinUsesLisp2021-02-131-1/+11
|
* vulkan_wrapper: Pull Windows symbolsReinUsesLisp2021-02-131-0/+11
|
* gpu: Report renderer errors with exceptionsReinUsesLisp2021-02-131-0/+3
| | | | | | 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.
* vulkan_common: Silence missing initializer warningsReinUsesLisp2021-01-151-142/+142
| | | | Silence warnings explicitly initializing all members on construction.
* renderer_vulkan: Remove two step initialization on VKDeviceReinUsesLisp2020-12-311-1/+1
| | | | | The Vulkan device abstraction either initializes successfully on the constructor or throws a Vulkan exception.
* renderer_vulkan: Throw when enumerating devices failsReinUsesLisp2020-12-311-1/+2
| | | | | | Report device enumeration errors with exceptions to be consistent with other initialization related function calls. Reduces the amount of code to maintain.
* renderer_vulkan: Initialize surface in separate fileReinUsesLisp2020-12-311-0/+5
| | | | | | 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.
* renderer_vulkan: Create debug callback on separate file and throwReinUsesLisp2020-12-311-6/+9
| | | | | | | | 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.
* vulkan_common: Rename renderer_vulkan/wrapper.h to vulkan_common/vulkan_wrapper.hReinUsesLisp2020-12-311-0/+1213
Allows sharing Vulkan wrapper code between different rendering backends.