Henrik Rydgård and GitHub
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 and GitHub
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
Unknown W. Brackets
ec309d55ab
GPU: Cleanup definition of shader resources.
...
Was in the wrong header file, which was a bit confusing.
2022-12-27 14:35:49 -08:00
Henrik Rydgård
25115fee7f
Found a bug where we tried to look up queue family -1 when initializing the frame profiler.
2022-12-23 11:37:59 +01:00
Henrik Rydgård
e6b7817cc6
Disable pre-rotation for 270 degree transform (inverse landscape).
...
Causes bizarre issues, see #15773
2022-12-15 11:29:11 +01:00
Henrik Rydgård
28e1b532bd
Detect Apple/MoltenVK and allow multisampling. Unfortunately no support for sample rate shading.
2022-12-01 22:49:01 +01:00
Henrik Rydgård
4990683cf2
Implement "enhanced" multisample quality setting
2022-12-01 22:49:00 +01: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
6daecb4e2b
Add check for tiling GPUs. We'll use this to inform on what MSAA modes to support.
2022-12-01 22:48:59 +01:00
Henrik Rydgård
9a108a46d4
Disable the PowerVR swapchain hack after driver version 1.386.1368.
...
See #15773
2022-12-01 10:17:53 +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
fb250c4b29
More multiview work
2022-10-27 11:05:58 +02:00
Henrik Rydgård
1d8ab38ce5
Vulkan: Use v2 feature checks, and add check for multiview features.
...
Extracted from the multiview PR, and renamed some stuff.
2022-10-24 00:21:28 +02:00
catsout
b0ceeede79
Vulkan: fix wayland swapchain size 1x1
...
From Vulkan spec,
surfaceCapabilities.currentExtent can be 0xFFFFFFFF(-1)
Define a callback to get drawsize from window creator
relate:
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSurfaceCapabilitiesKHR.html
https://github.com/KhronosGroup/Vulkan-Docs/issues/590#issuecomment-347932321
2022-10-15 19:02:42 +08:00
Henrik Rydgård
b0cf97cf4d
Touchpad/mousewheel scrolling acted very weirdly on Mac due to 0 deltas. Make it work better.
...
Ignoring the 0 deltas helps a lot for the feel, even though it still isn't that smooth feel yet.
2022-10-11 14:00:46 +02:00
Henrik Rydgård and Unknown W. Brackets
cdee10fe86
Vulkan: Basic geoshader code generation.
2022-10-02 07:42:17 -07:00
Unknown W. Brackets
87171cef98
GPU: Add geometry path for shader writer.
...
Not yet used.
2022-10-01 12:45:43 -07:00
Henrik Rydgård
ac7ca963db
Make valgrind happy
2022-09-23 12:24:43 +02:00
Henrik Rydgård
30e3f3b47a
Add two more extensions to device extension lookup
2022-09-16 19:19:42 +02:00
Henrik Rydgård
14b5a1a7cd
Fix pipeline lifetime issue, misc.
2022-09-08 00:38:32 +02:00
Henrik Rydgård
fc81b76b98
Vulkan: Very minor chnages after checking Best Practices with new validation layer
2022-08-23 23:55:53 +02:00
Unknown W. Brackets
c13f57e64f
Vulkan: Cleanup minor logging.
2022-08-21 19:40:02 -07:00
Henrik Rydgård
8dc8fae16d
Vulkan: Add support for listing all the available surface formats in system info.
...
Enabling the EXT_swapchain_colorspace extension lets the driver expose
all the formats it really supports.
Used this to discover that my Galaxy S21 supports Display-P3 which is a wider
gamut than sRGB. Might be able to do some color boosting mode for fun.
Or, use this stuff to play around with HDR?
2022-01-25 19:22:49 +01:00
Henrik Rydgård
a9dcf482c6
Improve the check for "slow" GPUs (with regards to tex scaling). See #15238
2021-12-18 21:51:33 +01:00
Henrik Rydgård
80ae4b039c
Vulkan: Be more restrictive about texture upscaling on "slow" devices.
...
Applies the same rules as for software upscaling in this case.
Should fix the stutters seen in #15109
2021-12-16 21:00:49 +01:00
Henrik Rydgård
3833d935f4
Fixes when profiler is disabled.
...
Typo, validation fix
More fixes
Fix mipgen logging
Disable the logging profiler by default again
Important to use the macro
2021-12-12 12:42:40 +01:00