Commit Graph

65 Commits

Author SHA1 Message Date
d2ca454576 Sync filesystem.h/path.h 2022-07-21 17:29:57 +10:00
f89529015c dep: Move Vulkan loader to common 2022-07-21 17:29:57 +10:00
cb51ab7197 Misc: Purge unused definitions 2022-03-27 16:59:02 +10:00
bbcf1c67d1 Common/Vulkan: Fix compiling on 32-bit 2021-08-24 11:57:16 +10:00
8bea6e1530 GPU/Vulkan: Fix warnings introduced by #2438 2021-08-07 12:01:02 +10:00
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
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
20afc1c4a1 Android: Handle some possible surface loss cases 2021-06-07 18:40:32 +10:00
1392a64a93 Re-add libretro core 2021-05-20 12:18:54 +10:00
48bc152a63 Vulkan/SwapChain: Ensure returned height is at least 1x1 2021-04-30 02:53:03 +10:00
19ca102b40 VulkanHostDisplay: Handle surface loss gracefully
Also skips a full swap chain recreate on resize.
2021-04-08 03:07:10 +10:00
0342d0a26e Vulkan/SwapChain: Fix incorrectly-sized display surfaces being created 2021-04-08 03:07:10 +10:00
924756860e HostDisplay: Support refresh rate queries on all platforms except Mac 2021-04-03 02:53:28 +10:00
fb7a8886f1 Add more printflike macros. 2021-03-29 13:56:19 -06:00
05f6f8579f GPU/Vulkan: Fix SSAA being near ineffective 2021-03-14 02:01:48 +10:00
f044818a7c Vulkan/StreamBuffer: Fix allocations getting stuck 2021-03-13 03:06:55 +10:00
ebfbae8dd1 Vulkan/StreamBuffer: Prevent skipping fance when wrapping around 2021-03-10 01:08:08 +10:00
21e53016d7 GPU/Vulkan: Fix possible misalignment in VRAM writes 2021-03-04 01:36:43 +10:00
1c1abee61a NoGUI: Linux compile fix 2021-02-28 04:11:34 +10:00
97cf3f770e GPU: Fix previous frame adaptive downsample leaking in 2021-02-28 04:03:48 +10:00
65daf1d6a0 Vulkan: Support fullscreen resolution enumeration 2021-02-16 02:58:25 +10:00
b811b78c09 Add refresh rate to window/mode info 2021-02-14 18:36:21 +10:00
701edb335a Various warning fixes 2021-02-06 19:19:55 +10:00
3e9fdf22bf NoGUI: Move DRM display to GL context
We don't use it for Vulkan.
2021-02-04 19:39:19 +10:00
8f9bbb0bba Vulkan: Support VK_KHR_display 2021-02-04 19:25:21 +10:00
368820d6e9 Vulkan: Default to two swap chain images 2021-01-27 01:21:03 +10:00
4a60cc4c1e VulkanHostDisplay: Ensure previous frame is presented before acquiring image 2021-01-24 17:37:09 +10:00
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
220f2f4845 Vulkan: Fix typo causing debug shaders to be used 2021-01-13 02:37:04 +10:00
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
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
5236583544 Vulkan/Texture: Support transitioning individual mip levels 2020-12-30 17:39:40 +10:00
2ce5dc3bbe Vulkan: Don't hardcode mipmap samplers to lod0 2020-12-30 17:39:40 +10:00
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
a66f14b5c3 Vulkan/Texture: Add UpdateFromBuffer method 2020-12-26 00:47:03 +10:00
497759b4d6 VulkanHostDisplay: Support 16-bit scanout 2020-11-21 21:12:38 +10:00
2eaebd8921 GPU: Implement support for multisample antialiasing 2020-10-31 14:27:58 +10:00
bf46461dd6 Common/Vulkan: Remove unused methods in staging texture 2020-10-21 23:13:34 +10:00
d39c9f5d1c Clean up some compiler warnings 2020-10-11 12:21:08 +10:00
a0a78087fe Vulkan: Support Wayland 2020-09-23 20:19:50 +10:00
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
d09a802a17 Vulkan/Context: Use VK_LAYER_KHRONOS_validation 2020-09-13 01:23:43 +10:00
666d7fbb99 Vulkan/Context: Add pipeline destruction deferring 2020-09-13 01:23:43 +10:00
f63192c6b2 Vulkan/SwapChain: Fix incorrect return from GetTextureFormat() 2020-09-13 01:23:43 +10:00
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
96ba9198ef GPU/HW: Expand lines into triangles before rendering
Fewer batches, consistent upscaling behavior.
2020-08-02 17:17:11 +10:00
363804c48b (libretro/Vulkan) Fix glslang shader-related crashes 2020-08-01 15:29:59 +01:00
282f166e7a Vulkan/StagingBuffer: Don't try to invalidate unmapped buffer
Fixes crash on Mali.
2020-07-12 00:40:05 +10:00
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
a5fe740e30 Fix a bunch of compiler warnings 2020-07-09 13:30:16 +10:00