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
Henrik Rydgård
55fe21db1e
Add a simple GPU profiler to profile individual events, rather than full passes.
2021-12-12 12:11:54 +01: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
2cbadefb29
Fix bugs in deletion. Delete redundant functions.
2021-11-22 19:02:08 +01:00
Henrik Rydgård
8d5247ddf3
Convert the PushBuffer to use VMA.
2021-11-22 18:54:09 +01:00
Henrik Rydgård
1b1e585a35
More integration, use VMA in VulkanTexture
2021-11-22 18:54:09 +01:00
Henrik Rydgård
8f9ce03a8d
Start integrating VMA
2021-11-22 18:54:08 +01:00
Henrik Rydgård
81fba1f4a4
Minor refactor
2021-11-21 22:08:53 +01:00
Unknown W. Brackets
60bd25582c
Vulkan: Remove wide line handling.
...
No longer used, since we convert lines to triangles now.
2021-10-31 14:47:21 -07:00
Unknown W. Brackets
1d76e55f84
Vulkan: Disable large points feature.
...
No longer used.
2021-10-31 13:07:03 -07:00
Unknown W. Brackets
273b9a3dc1
Vulkan: Add negative Z clipping.
2021-10-12 20:34:42 -07:00
Bram Verweij
a31cbe42d2
Rename namespace to PPSSPP_VK, remove indentation
2021-08-21 12:39:15 +02:00
Bram Verweij
cc00a4132d
Prevent dlopen collisions between ppsspp_libretro.so and libvulkan.so
2021-08-20 11:22:57 +02:00
Henrik Rydgård and GitHub
43ae32e5b8
Merge pull request #14713 from amverweij/vulkan-display-khr
...
First pass on using Display KHR, needs proper init flags
2021-08-11 01:34:38 +02:00
Henrik Rydgård
3595e092c9
Turn off all 16-bit formats if B5G6R5 format is not available.
...
Works around #14602 for now.
2021-07-10 23:33:46 +02:00
Unknown W. Brackets
e7a3faaa8c
Windows: Stop ignoring all deprecated warnings.
2021-02-18 08:56:36 -08:00