23 Commits

Author SHA1 Message Date
Wunkolo
98089180c0 GPU/Vulkan: Add debug utility functions
Adds a way to set the name of vulkan
objects, and automatically determining their `VkObjectType` enum value
at compile-time. As well as a utility-object for creating debug-scopes
for `VkQueue` and `VkCommandBuffer` objects. `DebugScope` objects will
automatically emit `Begin` and `End` commands within the ctor and dtor
and allow for C++ scopes to name and color sections of a vulkan command.
These DebugScopes are also able to be nested within each other and will
automatically pick a color depending on the current recursive depth.

These functions are all null-stubbed in non-debug compilations.
2021-08-01 10:56:56 -07:00
Wunkolo
b7f583d10f GPU/Vulkan: Update VK_EXT_debug_report to VK_EXT_debug_utils
`VK_EXT_debug_report` has been officially depreciated by khronos in favor of the `VK_EXT_debug_utils` extension
2021-06-28 13:57:49 -07:00
Connor McLaughlin
924756860e HostDisplay: Support refresh rate queries on all platforms except Mac 2021-04-03 02:53:28 +10:00
Connor McLaughlin
3e9fdf22bf NoGUI: Move DRM display to GL context
We don't use it for Vulkan.
2021-02-04 19:39:19 +10:00
Connor McLaughlin
8f9bbb0bba Vulkan: Support VK_KHR_display 2021-02-04 19:25:21 +10:00
Connor McLaughlin
4a60cc4c1e VulkanHostDisplay: Ensure previous frame is presented before acquiring image 2021-01-24 17:37:09 +10:00
Connor McLaughlin
702ed21207 HostDisplay: Add threaded presentation for Vulkan renderer
Can add a significant speedup for fast forward. Automatically disabled
when vsync is enabled.
2020-12-27 00:54:53 +10:00
Connor McLaughlin
2eaebd8921 GPU: Implement support for multisample antialiasing 2020-10-31 14:27:58 +10:00
Connor McLaughlin
a0a78087fe Vulkan: Support Wayland 2020-09-23 20:19:50 +10:00
Connor McLaughlin
d09a802a17 Vulkan/Context: Use VK_LAYER_KHRONOS_validation 2020-09-13 01:23:43 +10:00
Connor McLaughlin
666d7fbb99 Vulkan/Context: Add pipeline destruction deferring 2020-09-13 01:23:43 +10:00
Connor McLaughlin
96ba9198ef GPU/HW: Expand lines into triangles before rendering
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
Connor McLaughlin
fb6538da35 Vulkan/Context: Allocate SSBO descriptors in global set
Fixes vram write buffer creation failing on Mali.
2020-07-12 00:38:27 +10:00
Connor McLaughlin
a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00
Connor McLaughlin
da180a1c4f Vulkan: Fix crash when device creation fails 2020-07-07 00:59:42 +10:00
Connor McLaughlin
1d4b5e22cb Vulkan: Fall back to geometryShader when fillModeNonSolid unsupported 2020-07-07 00:59:35 +10:00
Connor McLaughlin
b9ffca1ddf libretro: Vulkan renderer support 2020-07-04 22:14:07 +10:00
Connor McLaughlin
eaca5eca07 GPU/Vulkan: Use Metal layer instead NSView on macOS. 2020-06-22 15:58:07 +10:00
Connor McLaughlin
bf60f9dd61 GPU/Vulkan: Use geometry shader for line rendering at >1xIR 2020-06-21 01:33:08 +10:00
Connor McLaughlin
f54876deb0 Vulkan/Context: Use VK_MVK_macos_surface not VK_EXT_metal_surface
Will change this over some time in the future when I can work on a Mac
again and set up the layer.
2020-06-20 20:37:38 +10:00
Connor McLaughlin
1b5f8db2fc Vulkan/Context: Support specifying GPU to use 2020-06-20 03:34:19 +10:00
Connor McLaughlin
4a04800132 Vulkan: Handle potential duplicate GPU/adapter names 2020-06-20 03:34:19 +10:00
Connor McLaughlin
1399e95b77 Common: Add a range of Vulkan helper/wrapper classes 2020-06-19 00:18:07 +10:00