Commit graph

97 commits

Author SHA1 Message Date
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
Henrik Rydgård
f5a4669cb4 Remove obsolete ifdef 2024-11-07 10:17:56 +01: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
b2d9ac54dd Make InfoField an "enum class", extract function FormatAPIVersion 2024-09-25 16:34:33 +02:00
Henrik Rydgård
144b3a8a98 Vulkan validation error cleanups 2024-07-28 08:08:48 -06:00
Henrik Rydgård
417d346e03 Vulkan validation warning fix 2024-07-19 11:43:35 +02:00
Henrik Rydgård
7c817f3ecd Add helper for Vulkan struct chaining 2024-07-19 09:45:02 +02:00
Henrik Rydgård
138193a776 Add support for the EXT_provoking_vertex Vulkan extension, allowing us to skip software transform for this case. 2024-07-17 10:41:25 +02:00
Henrik Rydgård
2a35a92514 Vulkan: Check the device features *after* the extension checks. Necessary for the next step. 2024-07-17 10:32:47 +02:00
Henrik Rydgård
9f1f75ddab Refactor: Merge the ChooseDevice function into CreateDevice 2024-07-17 10:31:49 +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
5f79046e01 Get Vulkan rendering on iOS (still, need to hook up input etc) 2024-05-23 09:41:00 +02:00
Henrik Rydgård
fea6727ffd Add a convenience method to VulkanContext to reduce code duplication
Will need the exact same code for iOS.
2024-05-23 02:13:54 +02: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
Henrik Rydgård
d28e9dc006 Minor cleanup 2024-04-06 17:03:40 +02: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
9f9881dfe3 Move some code, minor cleanup.
See #18987
2024-04-04 12:30:41 +02:00
Henrik Rydgård
32fe47d761 Fix or ignore some various Vulkan validation errors 2024-04-03 13:37:40 +02:00
Henrik Rydgård
86ea5665f0 Show some more Vulkan extensions in sysinfo 2024-02-01 17:08:54 +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
e3177ac870 Make some global string pointers const, not just the strings.
Minor cleanup.
2023-12-29 14:09:45 +01:00
Henrik Rydgård
7634eba083
Merge pull request #18532 from dima-xd/adrenotools
Android: Implement custom driver loading for ARM64 Android devices
2023-12-14 15:54:24 +01:00
Herman Semenov
5a0d54be83 [Common/Data/GPU/Input/System/UI] Added const reference for function params 2023-12-14 14:21:11 +03:00
Dzmitry Dubrova
a461800973 Implement custom driver loading for ARM64 Android devices 2023-12-14 08:53:03 +03: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
d9e9bde596 Vulkan: Fix disabling VSync on SDL platforms that support IMMEDIATE but not MAILBOX
Fixes #18084
2023-09-06 18:46:19 +02:00
Henrik Rydgård
13cfd9c3d6 Add Mesa as a known GPU driver "vendor". 2023-08-17 22:06:03 +02:00
Henrik Rydgård
aadb700505 Fix turning off VSync on Android, logic fix 2023-08-14 11:02:29 +02:00
Henrik Rydgård
8e74907710 Don't try to use VK_GOOGLE_display_timing on Mac/iOS. MoltenVK has an implementation that seems broken. 2023-08-08 11:46:36 +02:00
Henrik Rydgård
a6b5340d97 Don't crash if VK_KHR_present_id / VK_KHR_present_wait are not exposed (but feature still reported available)
Fixes the new crash in #17858
2023-08-07 11:36:49 +02:00
Henrik Rydgård
e16cac6548 Initial work on supporting VK_GOOGLE_display_timing. Not working yet. 2023-08-03 11:11:16 +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
1c83c4a1fe Vulkan: Enable the present-id/present-wait/display-timing extensions
Doesn't actually use any of them yet, just making sure enabling them
doesn't cause any weird issues. They will be used for the future display
timing rewrite.
2023-07-14 10:43:47 +02:00
Henrik Rydgård
38178d34b5 Sanity checks in InitSwapchain 2023-05-05 00:03:20 +02:00
Henrik Rydgård
c81ec8c74d List Vulkan present modes in system info, show the current one 2023-04-20 00:21:06 +02:00
Henrik Rydgård
f376f3cb5f Another piece of the fix for #17250 (opensuse build error) 2023-04-09 16:57:39 +02:00
Henrik Rydgård
42efc08e64 Couple buildfixes after the g_display refactoring
Should help #17250
2023-04-08 09:25:16 +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
Henrik Rydgård
8b431b39ba
Wrap the display globals in a struct (#16998)
* Wrap the display globals in a struct

Makes it easier to search/replace these, for future refactorings.

* Some renaming

* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)

* Attempt at buildfixing ios

* UWP buildfix
2023-02-25 13:09:44 +01:00
Unknown W. Brackets
335788a932 Vulkan: Remove logspam. 2023-02-16 19:34:44 -08:00
Henrik Rydgård
64e80423a6 Simplify the tilt code, tweak a bit 2023-02-16 11:07:57 +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
cf52324e9e Vulkan: Fix pipeline cache clearing.
Extracted from #16759 and bugfixed. Fixes a leak of Vulkan pipelines.

I guess another way would be to queue the variants for destruction at
the same time as we queue the callback, but I like this better.
2023-01-09 09:49:55 +01:00
Henrik Rydgård
d2feb444b7 Bunch of defensive programming around shaders 2022-12-31 12:21:51 +01:00
Unknown W. Brackets
682f5fae97 UI: Fix reverse-dependency in PathBrowser. 2022-12-27 15:08:57 -08:00