66 Commits

Author SHA1 Message Date
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
Connor McLaughlin
dd0ae0fc9d Vulkan/StagingTexture: Keep mapped throughout transfers
The underlying bug here was not invalidating the buffer after mapping (is
this supposed to be necessary?). But by keeping it mapped, we invalidate
it anyway.

Fixes screen corruption in Final Fantasy IX on Mali GPUs.
2020-09-01 12:02:39 +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
jdgleaver
363804c48b (libretro/Vulkan) Fix glslang shader-related crashes 2020-08-01 15:29:59 +01:00
Connor McLaughlin
282f166e7a Vulkan/StagingBuffer: Don't try to invalidate unmapped buffer
Fixes crash on Mali.
2020-07-12 00:40:05 +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