Commit graph

142 commits

Author SHA1 Message Date
Henrik Rydgård
b592473416 Vulkan: Add a missing barrier that got lost in the refactor 2024-04-08 09:00:44 +02:00
Henrik Rydgård
036c386b35 More barrier optimizations 2024-04-07 22:20:37 +02:00
Henrik Rydgård
60f350056c Vulkan: Optimize away a barrier in case of no depth buffer 2024-04-07 21:43:06 +02:00
Henrik Rydgård
78c0be3d8a Delete now-unused code 2024-04-07 21:25:04 +02:00
Henrik Rydgård
d949331f67 More use of the auto image layout transition functions 2024-04-07 21:24:25 +02:00
Henrik Rydgård
7769bf06f1 Add a simplified wrapper for Transition*ImageAuto that takes a VKRImage 2024-04-07 21:14:45 +02:00
Henrik Rydgård
3e91095313 Replace the "FromOptimal" layout transitions with auto. This fixes some rendering errors on NV. 2024-04-07 21:14:45 +02:00
Henrik Rydgård
9c4dd32db0 Replace the "ToOptimal" layout transitions with the auto ones 2024-04-07 21:14:45 +02:00
Henrik Rydgård
58fea04b8a Split the auto image layout transition function (color/depth-stencil) 2024-04-07 21:14:45 +02:00
Henrik Rydgård
6ac5a21846 Update the layout from within TransitionImageAuto 2024-04-07 21:14:45 +02:00
Henrik Rydgård
0bdbffd12f Revert minor optimization that needs some more work first 2024-04-07 21:14:45 +02:00
Henrik Rydgård
a3d0cb1f12 Switch away from TransitionImageLayout2 2024-04-06 17:12:32 +02:00
Henrik Rydgård
e00f1f10a3 More barrier code simplification 2024-04-06 17:03:44 +02:00
Henrik Rydgård
4a5eb4bdfb More cleanup 2024-04-06 17:03:40 +02:00
Henrik Rydgård
d28e9dc006 Minor cleanup 2024-04-06 17:03:40 +02:00
Henrik Rydgård
4ea58b64d4 Merge our two different Vulkan barrier batch implementations 2024-04-04 15:32:48 +02:00
Henrik Rydgård
25a1e6aa14 Some renaming, add a bunch of sanity debug-asserts 2024-01-30 11:14:21 +01:00
Henrik Rydgård
d260cd0498 Some sanity checks. 2024-01-24 00:23:08 +01:00
Henrik Rydgård
ce2163eb93 Vulkan MSAA: Avoid creating backbuffer renderpasses with the wrong sample count, oops 2024-01-17 21:41:04 +01:00
Henrik Rydgård
6de05f13f1 More barrier batching 2023-12-30 10:41:59 +01:00
Henrik Rydgård
126d88ecfc Back out clearly inconsequential/useless .reserve() calls 2023-12-29 08:27:56 +01:00
Henrik Rydgård
28189dc738 Vulkan render queue runner: Count commands in debug builds, like the GL backend. 2023-12-20 15:26:41 +01:00
Herman Semenov
b8748ae9e5 [Common/File/GPU/Render/Input] Using reserve if possible 2023-12-15 14:00:51 +03:00
Henrik Rydgård
dd032dc533 Delete two unused structs 2023-11-11 10:55:54 +01:00
Henrik Rydgård
ac93419331 Merge the 1.16.6 branch into master
Also deletes some unused code.
2023-10-13 11:00:11 +02:00
Henrik Rydgård
2c751d39f8 Vulkan: Add simple delete count to GPU profiler, to make sure we don't have more resource churn
Also fix the render pass type name lookup table.
2023-10-12 09:02:45 +02:00
Henrik Rydgård
d60c9a015f Vulkan: Fix synchronization when shutting the GPU down in-game. 2023-10-11 12:49:33 +02:00
Henrik Rydgård
0ad2827e14 Vulkan: Fix synchronization when shutting the GPU down in-game. 2023-10-11 12:27:39 +02:00
Henrik Rydgård
8ebc08185b Allocate descriptors in blocks of 8 instead of individually, to reduce overhead. 2023-10-10 10:17:56 +02:00
Henrik Rydgård
3b22d1248e Fix for Vulkan on 32-bit devices, oops. 2023-10-10 10:10:12 +02:00
Henrik Rydgård
2b0192d818 Have FrameData structs for each pipeline layout, instead of multiple arrays 2023-10-10 09:02:35 +02:00
Henrik Rydgård
397745ce14 Remove unused code 2023-10-10 09:02:35 +02:00
Henrik Rydgård
f0ee3b8daa Fill in descriptors on the render thread in the PPSSPP UI. 2023-10-10 09:00:29 +02:00
Henrik Rydgård
dbe395dd00 Add a wrapper around VKRPipelineLayout / descsetlayout 2023-10-08 12:39:18 +02:00
Henrik Rydgård
5711259b86 Declare the back depth buffer as "transient". Allows allocating no memory for it on tiled GPUs.
We can't do the same for other depth buffers as we often need to
preserve them between passes.
2023-10-06 15:40:13 +02:00
Henrik Rydgård
ca4ee83038 Vulkan: Add debug names to renderpasses 2023-09-27 16:56:57 +02:00
Henrik Rydgård
2e171b22ec Vulkan: Remove an assert that didn't give much actionable information. Replace with reporting. 2023-09-20 22:50:38 +02:00
Henrik Rydgård
10f93875c6 Fix the semantics of DenseHashMap to be consistent even when inserting nulls 2023-09-11 12:07:18 +02:00
Henrik Rydgård
ae29fd2951 Vulkan profiler: Show CPU command buffer recording timing even if GPU timing is unavailable 2023-06-14 09:15:29 +02:00
Henrik Rydgård
6d8069dfd1 Vulkan: Remove the remains of the input attachment experiment
Haven't been using these for a while.

I've come to the conclusion here that I think it's better to try to
deal with the issues using safe workarounds like copies, instead of
relying on features with somewhat iffy driver support that are not
universal across APIs anyway.
2023-06-13 20:46:27 +02:00
Henrik Rydgård
f54f905be5 Vulkan: Remove support for other index types than 16-bit.
We don't have any use for them anyway.
2023-05-30 10:15:34 +02:00
Henrik Rydgård
234c1f05b8 Apply the same optimizations to the Vulkan backend. Smaller effect than for OpenGL. 2023-05-23 08:54:41 +02:00
Henrik Rydgård
0b9dfac844 Make sure VKRRenderThreadTask isn't copied. 2023-05-23 08:54:41 +02:00
Henrik Rydgård
cf9a628a2e AndroidContentURI: Move code from the header to cpp. Some assorted cleanup, add a unit test for Download paths 2023-05-16 16:08:51 +02:00
Henrik Rydgård
885415949e Vulkan: Fix ordering of debug labels, fixing a new validation error. 2023-04-01 23:29:30 +02:00
Henrik Rydgård
b3e6b81e43 Implement delayed depth readbacks for Vulkan only 2023-02-07 23:13:36 +01:00
Henrik Rydgård
937975000b Add a ReadbackMode parameter to more functions in the FramebufferManager 2023-02-05 13:57:45 +01:00
Henrik Rydgård
31df6bf0fe Move some code around, get rid of some unnecessary fences 2023-02-05 00:35:30 +01:00
Henrik Rydgård
7b5def9ff6 Use VMA to manage readback memory 2023-02-04 23:52:38 +01:00
Henrik Rydgård
a67604d003 Tighten up shader compilation logging 2023-02-01 11:42:25 +01:00