Commit Graph

38 Commits

Author SHA1 Message Date
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
da180a1c4f Vulkan: Fix crash when device creation fails 2020-07-07 00:59:42 +10:00
1d4b5e22cb Vulkan: Fall back to geometryShader when fillModeNonSolid unsupported 2020-07-07 00:59:35 +10:00
9b3e344ad8 Renderers: Support empty shader cache 2020-07-04 22:14:07 +10:00
f396a2c373 Renderers: Make shader cache path a prefix instead of directory 2020-07-04 22:14:07 +10:00
b9ffca1ddf libretro: Vulkan renderer support 2020-07-04 22:14:07 +10:00
9265dd72ba Vulkan/ShaderCache: Skip writing pipeline cache when size matches
Comparing all the data wasn't working, at least for Intel. I'm guessing
there's some modification time field in there which keeps changing.
2020-06-22 15:58:10 +10:00
eaca5eca07 GPU/Vulkan: Use Metal layer instead NSView on macOS. 2020-06-22 15:58:07 +10:00
1455e793d5 Vulkan: Fix crash when drag-resizing window 2020-06-22 15:57:54 +10:00
bf60f9dd61 GPU/Vulkan: Use geometry shader for line rendering at >1xIR 2020-06-21 01:33:08 +10:00
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
7192b8d83a Vulkan/ShaderCache: Hopefully fix macOS build 2020-06-20 03:39:46 +10:00
1b5f8db2fc Vulkan/Context: Support specifying GPU to use 2020-06-20 03:34:19 +10:00
4a04800132 Vulkan: Handle potential duplicate GPU/adapter names 2020-06-20 03:34:19 +10:00
c023bcd234 Linux build fix 2020-06-19 01:36:46 +10:00
1399e95b77 Common: Add a range of Vulkan helper/wrapper classes 2020-06-19 00:18:07 +10:00