Commit Graph
727 Commits
Author SHA1 Message Date
Henrik Rydgård 33b87578c5 Revive old alignment utility functions, give them better names. 2025-09-03 20:48:51 +02:00
Henrik Rydgård 6f76c579fc Delete dead code, more std::string_view 2025-09-01 00:15:23 +02:00
Henrik Rydgård 5751e202a5 Remove redundant .c_str() 2025-08-31 13:37:43 +02:00
Henrik Rydgård 2cf0ffea73 Allow choosing the frame presentation mode in detail in Vulkan mode 2025-08-21 01:01:16 +02:00
Henrik Rydgård c0b7ecc686 Refactor: Unify the Vulkan init info logic 2025-08-21 01:01:16 +02:00
Henrik Rydgård 5e05a6d0ac Get rid of some more backward Common/Core dependencies 2025-08-06 00:16:35 +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 6cfea96e58 Remove D3D9 support, to make future changes easier 2025-06-10 15:07:16 +02:00
Henrik Rydgård 4cc5b230ce The ritual bump of the shader cache version 2025-06-05 11:01:25 +02:00
Henrik Rydgård a36d3cf18d Logging improvements / despam 2025-05-21 21:42:08 +02:00
Henrik Rydgård 7792e01545 Vulkan: RenderCompleteSemaphores are now per swapchain image, instead of per-buffered-frame. 2025-05-20 11:39:08 +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 ceef65fe67 Wait for pipelines to finish creating before proceeding with boot. 2025-05-15 12:26:03 +02:00
Henrik Rydgård 751e4fad2e Move more of GPU init to the loader thread. Some log cleanup. 2025-05-15 11:43:37 +02:00
Henrik Rydgård e2bfc48886 Sanity checks in Vulkan backend, PSPDialog 2025-05-14 00:39:00 +02:00
Henrik Rydgård dbe6ec80a0 Fix some bad "for (auto x : y)" usage 2025-04-29 16:46:14 +02:00
Henrik Rydgård bddd3c2a30 Minor stuff 2025-04-17 18:45:55 +02:00
Henrik Rydgård 2e0ca023ae Build warning fixes 2025-04-17 11:05:52 +02:00
Henrik Rydgård f36173e17f Vulkan: Remove mac specific hack for specifying host coherent memory - we need this everywhere. 2025-04-16 08:42:07 +02:00
Henrik Rydgård 50b604e010 Log fixes 2025-04-15 14:29:40 +02:00
Henrik Rydgård ece55b531d Enable Vulkan again on certain Motorola devices, from a certain driver version.
See #17825
2025-04-13 16:11:05 +02:00
Henrik Rydgård 6eefe8c982 Vulkan init: Slight logging reduction 2025-04-13 15:21:29 +02:00
Henrik Rydgård 3e4b187004 Blacklist Vulkan from some old Mac intel GPUs, where it blackscreens 2025-04-11 10:33:07 +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
Henrik Rydgård 67dfbfe97e Add developer setting to prevent loading overlays (and other 'implicit' Vulkan layers) 2025-04-10 18:56:05 +02:00
Henrik Rydgård 670ff21529 Make the Vulkan init flags a proper enum class 2025-04-10 18:16:05 +02:00
Henrik Rydgård b32c0b461a Very minor VulkanImage optimization 2025-03-30 11:22:19 +02:00
Henrik Rydgård 85304d58a8 Warning fixes 2025-03-27 14:45:42 +01:00
Henrik Rydgård fed476bc94 Fix rare deadlock in Vulkan shader compilation.
Hopefully won't introduce new problems..
2025-03-05 13:34:45 +01:00
oltolm 02e767866a fix compiler warnings 2025-02-22 14:15:15 +01:00
Henrik Rydgård 948c38a034 Some more minor fixes 2025-02-04 10:24:55 -06:00
Henrik Rydgård 6e0cafccb9 Request Vulkan 1.4 if available. 2025-01-17 14:27:08 +01:00
Nukem d3aeff861e libretro: Restore Vulkan MSAA video option 2025-01-10 16:13:16 -05: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 58adb379ea GE debugger improvements 2024-12-20 20:31:58 +01:00
Henrik Rydgård c91169e702 Restore removed <algorithm> includes.
Turns out these were needed after all. For some reason, on Windows and
Mac, <algorithm> gets auto-included by something else so I don't notice
when it's missing, and MSVC's include dependency tracker doesn't see it
either.
2024-12-19 09:53:07 +01:00
Henrik Rydgård 4dd3621fa0 Remove some unnecessary <algorithm> includes. 2024-12-18 17:04:27 +01:00
Henrik Rydgård c608184cdd ImGeDebugger: Add support to inspect depth and stencil buffers too, including hover values 2024-12-16 21:06:09 +01:00
Henrik Rydgård 111d0c872d Global rename of FBChannel to Aspect, also make it a class enum 2024-12-15 22:24:05 +01:00
Henrik Rydgård 27122a9e64 Work on previews 2024-12-10 22:09:51 +01:00
Henrik Rydgård b2a8b4168b Core: Minor changes to stepping (and some log changes) 2024-12-10 01:06:19 +01:00
Katharine Chui 49553bcf8d Simplify MacOS AMD GPU workaround
Based on https://github.com/KhronosGroup/MoltenVK/issues/960,
expand MacOS AMD GPU workaround to all dGPU and instead of
changing usage, just append VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
2024-12-09 14:22:56 +01:00
Katharine Chui 286580a6a0 Switch to VMA_MEMORY_USAGE_CPU_ONLY on MacOS AMD
The ideal allocation would be VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT
like in 1.12.3, but vma picked an index that's actually not mappable

VMA_MEMORY_USAGE_GPU_TO_CPU selects VK_MEMORY_PROPERTY_HOST_CACHED_BIT,
which seems to hurt performance

VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT + VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
selection with VMA_MEMORY_USAGE_CPU_ONLY would suffice for the
workaround, and get better performance
2024-12-09 12:32:31 +01:00
Katharine Chui 93009a3178 Work around metal buffer bug on MacOS + AMD GPU
With VMA_MEMORY_USAGE_CPU_TO_GPU buffers, metal buffer appears 0
filled in metal trace during vkCmdCopyBufferToImage triggered
MTLBlitCommandEncoder instance method.

Allocate VMA_MEMORY_USAGE_GPU_TO_CPU instead on MacOS + AMD GPU
2024-12-08 22:13:33 +01:00
Henrik Rydgård e94defbb15 Get the CORE_RUNNING_GE coreState working! 2024-12-01 22:49:18 +01:00
Henrik Rydgård e4adc112ff ImDebugger: Add a basic texture browser 2024-11-29 19:30:38 +01:00
Henrik Rydgård 27a60517af Fix broken check for intel macs (for auto-disabling Vulkan) 2024-11-27 15:23:50 +01:00
Henrik Rydgård 6763c13f88 ImGui: Finish implementing pipeline switching for all backends 2024-11-27 01:19:05 +01:00
Henrik Rydgård 09779e0f44 ImGui drawing: Allow varying the pipeline when binding textures 2024-11-26 19:59:09 +01:00