Commit graph

71 commits

Author SHA1 Message Date
Connor McLaughlin 0b3461338c HostDisplay: Use streaming for sw renderer display 2022-09-13 17:50:42 +10:00
Connor McLaughlin bec0d6e7df HostDisplay: Add GPU usage statistics 2022-09-03 14:17:51 +10:00
Connor McLaughlin 4688277987 SwapChain: Reduce buffer count from 3 to 2 2022-08-10 17:08:59 +10:00
Connor McLaughlin b581cc4777 Vulkan/SwapChain: Fix crash on fullscreen with MoltenVK 2022-08-07 01:31:24 +10:00
Connor McLaughlin ca1512f47a Vulkan/Loader: Prioritize system libvulkan dylib, fallback to MoltenVK 2022-08-01 23:07:40 +10:00
Connor McLaughlin b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin d2ca454576 Sync filesystem.h/path.h 2022-07-21 17:29:57 +10:00
Connor McLaughlin f89529015c dep: Move Vulkan loader to common 2022-07-21 17:29:57 +10:00
Connor McLaughlin cb51ab7197 Misc: Purge unused definitions 2022-03-27 16:59:02 +10:00
Connor McLaughlin bbcf1c67d1 Common/Vulkan: Fix compiling on 32-bit 2021-08-24 11:57:16 +10:00
Connor McLaughlin 8bea6e1530 GPU/Vulkan: Fix warnings introduced by #2438 2021-08-07 12:01:02 +10:00
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 20afc1c4a1 Android: Handle some possible surface loss cases 2021-06-07 18:40:32 +10:00
Connor McLaughlin 1392a64a93 Re-add libretro core 2021-05-20 12:18:54 +10:00
Connor McLaughlin 48bc152a63 Vulkan/SwapChain: Ensure returned height is at least 1x1 2021-04-30 02:53:03 +10:00
Connor McLaughlin 19ca102b40 VulkanHostDisplay: Handle surface loss gracefully
Also skips a full swap chain recreate on resize.
2021-04-08 03:07:10 +10:00
Connor McLaughlin 0342d0a26e Vulkan/SwapChain: Fix incorrectly-sized display surfaces being created 2021-04-08 03:07:10 +10:00
Connor McLaughlin 924756860e HostDisplay: Support refresh rate queries on all platforms except Mac 2021-04-03 02:53:28 +10:00
C.W. Betts fb7a8886f1 Add more printflike macros. 2021-03-29 13:56:19 -06:00
Connor McLaughlin 05f6f8579f GPU/Vulkan: Fix SSAA being near ineffective 2021-03-14 02:01:48 +10:00
Connor McLaughlin f044818a7c Vulkan/StreamBuffer: Fix allocations getting stuck 2021-03-13 03:06:55 +10:00
Connor McLaughlin ebfbae8dd1 Vulkan/StreamBuffer: Prevent skipping fance when wrapping around 2021-03-10 01:08:08 +10:00
Connor McLaughlin 21e53016d7 GPU/Vulkan: Fix possible misalignment in VRAM writes 2021-03-04 01:36:43 +10:00
Connor McLaughlin 1c1abee61a NoGUI: Linux compile fix 2021-02-28 04:11:34 +10:00
Connor McLaughlin 97cf3f770e GPU: Fix previous frame adaptive downsample leaking in 2021-02-28 04:03:48 +10:00
Connor McLaughlin 65daf1d6a0 Vulkan: Support fullscreen resolution enumeration 2021-02-16 02:58:25 +10:00
Connor McLaughlin b811b78c09 Add refresh rate to window/mode info 2021-02-14 18:36:21 +10:00
Connor McLaughlin 701edb335a Various warning fixes 2021-02-06 19:19:55 +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 368820d6e9 Vulkan: Default to two swap chain images 2021-01-27 01:21:03 +10:00
Connor McLaughlin 4a60cc4c1e VulkanHostDisplay: Ensure previous frame is presented before acquiring image 2021-01-24 17:37:09 +10:00
Connor McLaughlin b1d4d5db5e Vulkan/SwapChain: Recreate semaphores when resizing
Prevents us acquiring an image on an already-signaled semaphore.
2021-01-24 17:37:09 +10:00
Connor McLaughlin 220f2f4845 Vulkan: Fix typo causing debug shaders to be used 2021-01-13 02:37:04 +10:00
Connor McLaughlin fd166a4485 ShaderCache: Add a data version field
We can increment this to prevent people's shader caches from growing too
large with shader changes.
2021-01-11 15:24:38 +10:00
Connor McLaughlin 419726f4cc Remove libretro core - core will now be maintained by libretro
libretro have agreed to take over maintenance of the core.

Please see their fork at https://github.com/libretro/duckstation if you
wish to continue to use it.
2021-01-08 01:37:59 +10:00
Connor McLaughlin 5236583544 Vulkan/Texture: Support transitioning individual mip levels 2020-12-30 17:39:40 +10:00
Connor McLaughlin 2ce5dc3bbe Vulkan: Don't hardcode mipmap samplers to lod0 2020-12-30 17:39:40 +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 a66f14b5c3 Vulkan/Texture: Add UpdateFromBuffer method 2020-12-26 00:47:03 +10:00
Connor McLaughlin 497759b4d6 VulkanHostDisplay: Support 16-bit scanout 2020-11-21 21:12:38 +10:00
Connor McLaughlin 2eaebd8921 GPU: Implement support for multisample antialiasing 2020-10-31 14:27:58 +10:00
Connor McLaughlin bf46461dd6 Common/Vulkan: Remove unused methods in staging texture 2020-10-21 23:13:34 +10:00
Connor McLaughlin d39c9f5d1c Clean up some compiler warnings 2020-10-11 12:21:08 +10:00
Connor McLaughlin a0a78087fe Vulkan: Support Wayland 2020-09-23 20:19:50 +10:00
Connor McLaughlin a7b85605e2 Ignore existing surface size on Android
Seems to be a race condition here where it's not up to date.
2020-09-20 01:36:49 +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 f63192c6b2 Vulkan/SwapChain: Fix incorrect return from GetTextureFormat() 2020-09-13 01:23:43 +10:00