Commit Graph
151 Commits
Author SHA1 Message Date
Henrik Rydgård 9137eedb7b Windows/Vulkan: Correctly handle minimizing and restoring the window
We can't create a swapchain in this case but we still want emulation to
keep running. So we ditch the last renderpass in VulkanQueueRunner but
run all the rest (if PauseWhenMinimized isn't set).

Now works without any validation errors or hangs.
2025-07-18 20:01:48 +02:00
Henrik Rydgård 536cb483d9 Move swapchain image data responsibility to RenderManager, part 1 2025-05-20 08:42:37 +02:00
Henrik Rydgård 7efd604c25 Improve the MGS Acid 2 hack to fix the oil spill crash
Not really proud of this, but takes care of #20306 for now.
2025-05-16 19:22:37 +02:00
Henrik Rydgård 73cdbe204e Fix Star Ocean with MSAA enabled: don't use the blit optimization, can't blit to multisampled images. 2025-04-10 21:33:05 +02:00
Luboš V.andGitHub d1f8b78bbb OpenXR - Remove non-functional Vulkan implementation (#19766)
* OpenXR - Remove non-functional Vulkan implementation

* Forgotten to commit
2024-12-26 10:05:18 +01:00
Henrik Rydgård 99f7946471 Vulkan GraphicsPipeline: Fix an old and likely very rare race condition. 2024-10-22 11:02:26 +02:00
Henrik Rydgård 4d6905672e Bunch more linting 2024-10-10 11:57:10 +02:00
Henrik Rydgård c631fe355f Fix the MGS2 Acid renderpass merge optimization
Failed to merge the specified renderAreas, leading to AMD skipping
rendering of much of the screen.

Fixes #17680
2024-09-09 18:12:53 +02:00
Henrik RydgårdandGitHub e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
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