Commit graph

60 commits

Author SHA1 Message Date
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
27a60517af Fix broken check for intel macs (for auto-disabling Vulkan) 2024-11-27 15:23:50 +01:00
Henrik Rydgård
e0c12c9547 More lint warning fixes 2024-10-10 10:52:45 +02:00
Henrik Rydgård
8c8b34aac4 Vulkan: Separate the instance and device API versions, for extension loading purposes 2024-09-25 18:38:31 +02:00
Henrik Rydgård
de0f50158b More refactoring 2024-09-25 16:19:29 +02:00
Henrik Rydgård
f4e3252966 Refactor LOAD_INSTANCE_FUNC_CORE 2024-09-25 16:08:37 +02:00
Henrik Rydgård
12ecf25618 Refactor the LOAD_INSTANCE_FUNC macro to load a function 2024-09-25 16:04:36 +02:00
Henrik Rydgård
4f9f0acd32 VulkanLoader: Improve logging 2024-09-25 15:59:24 +02:00
Henrik Rydgård
1ce416a366 Remove the Vulkan option on Moto G54. See issue #18681
See #18681
2024-09-08 17:34:47 +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
3e1d131754 Vulkan: Fall back to extension if core functions won't load. 2024-06-23 15:42:35 +02:00
Henrik Rydgård
606a895985 iOS: Update recents paths on load
Fixes the main part of #19211
2024-05-29 10:12:20 +02:00
Henrik Rydgård
35c40196d4 Implement UI for setting up the iOS audio modes 2024-05-27 15:17:47 +02:00
Henrik Rydgård
6817858d61 Use a hacked MoltenVK that can be loaded (but doesn't work) on iOS 12.
See https://github.com/KhronosGroup/MoltenVK/issues/2240
2024-05-26 16:45:29 +02:00
Henrik Rydgård
740219a65b Plumb the restart event into AppDelegate 2024-05-23 14:16:07 +02:00
Henrik Rydgård
47f12dfeec Make linking to MoltenVK work 2024-05-23 09:41:00 +02:00
Eric Warmenhoven
81846cd737 macOS: Update VulkanLoader for MoltenVK 1.2.8-style framework finding 2024-05-08 12:21:47 -04:00
Henrik Rydgård
28ab4518ed Add a workaround and an assert, trying to fix #18982
Not sure what it is if this doesn't fix #18982.

We already seem to be doing things correctly.
2024-04-29 13:32:26 +02:00
Eric Warmenhoven
e50ca3808a iOS: Update VulkanLoader for MoltenVK 1.2.8-style framework finding 2024-04-19 09:30:43 -04:00
Henrik Rydgård
ae6e0d182e Vulkan: Fix function loading regression affecting MSAA
When loading function that have been merged into core, use the core
names.
2024-04-05 17:28:37 +02:00
Henrik Rydgård
f9c31072d2 Disable Vulkan/MoltenVK on x64 macs
Keep getting reports of radeon and intel GPUs that don't work with Vulkan.
2024-03-28 11:17:47 +01:00
Henrik Rydgård
9253bf9cb5 Add a new screen for managing installed Adreno drivers 2024-01-17 10:51:08 +01:00
Henrik Rydgård
0caebbfaa6 Add a way to pass out error messages from VulkanLoad 2024-01-15 11:22:33 +01:00
Henrik Rydgård
d0817c4c0a Vulkan: Fix trying to compare uninitialized parts of packed descriptors
Found by Valgrind.

Other minor cleanup, too.
2024-01-10 12:10:20 +01:00
Henrik Rydgård
e3177ac870 Make some global string pointers const, not just the strings.
Minor cleanup.
2023-12-29 14:09:45 +01:00
Dzmitry Dubrova
a461800973 Implement custom driver loading for ARM64 Android devices 2023-12-14 08:53:03 +03:00
Herman Semenov
315340fc62 Using const reference for C++17 range-based loop and freq used objects 2023-12-13 17:33:01 +01:00
Henrik Rydgård
602407fcf2 Warning and comment fixes, logic precedence fixes in PPGeDraw 2023-09-21 16:41:42 +02:00
Henrik Rydgård
1a1a6fe15d Load the functions for VK_GOOGLE_display_timing 2023-08-03 09:52:48 +02:00
Henrik Rydgård
14377259b5 Use VK_KHR_present_wait to get numbers on how much latency we have to screen
This extension is not available on Android, there they have
VK_GOOGLE_display_timing, which they also have an abstraction library
for, so will look at that later.

Early part of work on #17685
2023-08-02 20:34:22 +02:00
Henrik Rydgård
b13c5c2d1b Add compat setting to force using maximum depth resolution
Fixes #17014

Even if our depth-testing-equal heuristic believes that the game needs
lower depth resolution.

This removes some depth-fighting artifacts (that are present on the real
PSP, but nice to avoid) in Outrun, Split/Second and Cars: Race-o-Rama -
essentially reverting these to the behavior we had before the heuristic.

(The heuristic is good though - it means less compat.ini hacks going in
the other direction).

In the case of Outrun, this relies on two passes that pass exactly the
same vertex coordinates twice resulting in the exact same final
geometry. This is actually guaranteed by the spec if the vertex math is
exactly the same and "invariant" is set on the position output, though
I guess you never know.. Haven't seen any issues at least.

Also sneak in disabling some validation messages from using extra Vulkan
validation layers other than the default.
2023-03-26 00:27:58 +01:00
Henrik Rydgård
31d796e769 Vulkan on Android: In non-debug mode, avoid devices that were rejected by VulkanMayBeAvailable.
Fixes #16931

Can still use these devices in debug builds by modifying the ini.
2023-02-28 18:18:19 +01:00
Henrik Rydgård
970f7993df Android: Make font rendering work even absent support for R4G4B4A4 textures.
This shouldn't normally happen as conforming drivers are required to
support that texture format, but the software driver that we
accidentally choose on Poco C40 (see issue #16391) doesn't.

That we choose that driver will be fixed separately. This fix on its own
at least lets the user comfortably navigate to settings and switch to
OpenGL.
2023-02-28 00:01:29 +01:00
ZiHan Huang
2865310bca vulkan: Add the function realization of arm device to kms vulkan
Signed-off-by: ZiHan Huang <zack.huang@rock-chips.com>
2023-02-07 14:23:55 +08:00
Henrik Rydgård
8b9b80f044 Add path that uses CreateRenderpass2, we're gonna need it for depth resolve. 2022-12-01 22:49:00 +01:00
Henrik Rydgård
bd40ccda51 Improve VkResult logging 2022-11-08 00:21:07 +01:00
Henrik Rydgård
162290147f UWP build fix. Had to reshuffle some stuff and compile some Vulkan files. 2022-11-06 15:54:00 +01:00
Henrik Rydgård
b4507cd5cc Make a lot more code VR build for all platforms 2022-11-06 14:36:51 +01:00
Henrik Rydgård
aa51bfd1ef Use GPU "use" flags to replace IsVRBuild in the renderer. It remains elsewhere. 2022-10-17 19:57:11 +02:00
Lubos
3a0e6c7232 Merge branch 'master' into feature_openxr_stereo 2022-09-05 19:11:52 +02:00
Unknown W. Brackets
3c9f63e297 Vulkan: Update to latest VMA. 2022-09-04 23:54:15 -07:00
Lubos
c2c0561be2 OpenXR - OPENXR ifdef removal 2022-08-27 17:33:37 +02:00
Lubos
8ba87bf9aa OpenXR - Hide options which are not relevant for VR 2022-07-07 18:20:12 +02:00
Lubos
71da6a9293 OpenXR - Quest target into Android Studio project added 2022-07-06 21:38:41 +02:00
Unknown W. Brackets
b71f17586e Switch: Avoid loading Vulkan. 2022-04-02 16:34:13 -07:00
Henrik Rydgård
466a731ece Detect and specify the max available Vulkan version, up to 1.2. 2021-12-07 21:26:14 +01:00
Henrik Rydgård
8f9ce03a8d Start integrating VMA 2021-11-22 18:54:08 +01:00
Henrik Rydgård
e6857388c7 Add input device debug info to touchscreen test screen
(yeah maybe there's a better place but it's fine).

Also make a slight tweak to the detection order which I don't think
matters much.
2021-10-10 11:50:20 +02:00
Bram Verweij
f1f5fbd3bb Remove unintended whitespace changes 2021-08-21 12:44:25 +02:00
Bram Verweij
a31cbe42d2 Rename namespace to PPSSPP_VK, remove indentation 2021-08-21 12:39:15 +02:00