160 Commits

Author SHA1 Message Date
Henrik Rydgård 9845a78a46 Vulkan: Correct handling of VK_ERROR_OUT_OF_DATE_KHR 2026-05-28 10:56:35 +02:00
Herman Semenoff eaae4dca82 Vulkan: duplicate fields move to separate const reference var 2026-05-27 12:23:47 +02:00
Henrik Rydgård 02a624075a Android: Make the "Auto" rotation mode override user rotation lock (SENSOR mode) 2026-03-31 10:43:27 -06:00
Henrik Rydgård 0c3f6afeef Vulkan: Fix MSAA crash due to silly typo 2026-02-05 11:03:33 +01:00
Henrik Rydgård 7bca84252e Vulkan: Add support for doing intra-buffer block copies with vkCmdCopyImage. 2026-01-22 13:47:41 +01:00
Henrik Rydgård 502da9315d Add a sanity check after acquiring swapchain images 2026-01-01 14:48:35 +01:00
Henrik Rydgård 80bd32325c Move the present mode from the CreateInfo to InitSwapchain 2025-10-20 16:33:34 +02:00
Henrik Rydgård 6338832015 Vulkan: Smoothly recreate the swapchain using oldSwapchain on "resize" on Windows 2025-10-20 15:42:34 +02:00
Henrik Rydgård c3dfddebd7 IR interpreter: Improve code gen for the main interpreter loop
Thanks to fp64 for the idea of using unreachable markers to avoid the
range check on the switch!

Additionally, use it in a few more places.
2025-10-15 21:15:30 +02:00
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. 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ård 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