Commit graph

3258 commits

Author SHA1 Message Date
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
29a2157485 Correctly handle input attachments with CreateRenderpass2. But also don't use it while not multisampling. 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
b9ea8de135 Use raster copies to work around lack of working copy support in MSAA mode. 2022-12-01 22:49:00 +01:00
Henrik Rydgård
8208768c15 Add a pipeline flag for USES_DISCARD. Will be used for the MSAA quality setting. 2022-12-01 22:49:00 +01:00
Henrik Rydgård
a0f27c7442 Implement depth/stencil resolve. (We probably only need depth resolve since we don't texture from stencil, but whatever). 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
e3679df6cf Fix switching between MSAA levels 2022-12-01 22:49:00 +01:00
Henrik Rydgård
4dfce4f6bc Basically working MSAA on desktop GPUs! Some glitches remain. 2022-12-01 22:49:00 +01:00
Henrik Rydgård
06af304c8d Multisampling groundwork 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
Unknown W. Brackets
4866518b84
Merge pull request #16477 from hrydgard/invalidation-refactor
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
2022-12-01 11:05:04 -08:00
Henrik Rydgård
331d024a8c Add a flags parameter to InvalidateCachedState and rename it Invalidate.
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00
Henrik Rydgård
d0e8cfa365 Add NEON impl too, mostly for exercise purposes 2022-12-01 17:52:02 +01:00
Henrik Rydgård
e6f0f84a45 SSE optimize Float4ToUint8x4, some uses 2022-12-01 16:32:23 +01:00
Henrik Rydgård
40ae99073b Remove std::string from VulkanTexture 2022-12-01 12:17:03 +01:00
Henrik Rydgård
c05ec8b520 Remove std::string from VulkanProfiler (the scope profiler for uploads) 2022-12-01 12:17:01 +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
25e8f8385e Redo the control UI screen layout, slightly update the look 2022-11-30 10:56:29 +01:00
Henrik Rydgård
20a337f25b Initialization cleanup (no effect) 2022-11-30 10:15:36 +01:00
Henrik Rydgård
0ff5e0a955 Add checks preventing a number of "possible" divisions by 0 in layout 2022-11-30 10:15:30 +01:00
Henrik Rydgård
390bf3e912 Fix Burnout Dominator lens flare on OpenGL ES
Not the prettiest solution, but works: Use R8_UNORM as a fallback
if R16_UNORM is not available.
2022-11-29 13:05:18 +01:00
Henrik Rydgård
9bb0c91a75 Sneak in a minor software transform optimization 2022-11-28 11:10:50 +01:00
Henrik Rydgård
3b960a92fc
Merge pull request #16451 from unknownbrackets/ui-psp-glow
UI: Add a slight glow around PSP in control map
2022-11-28 08:00:26 +01:00
Unknown W. Brackets
5666dc5890 Vulkan: Correct maxAniso handling in Draw. 2022-11-27 19:17:01 -08:00
Henrik Rydgård
11c1b539e0
Merge pull request #16445 from hrydgard/new-screen-size-controls
New screen size controls on Display Layout & Effects screen
2022-11-27 20:04:32 +01:00
Henrik Rydgård
973eec5b42 Another tweak to the OpenGL adreno bug detection.
See #16015
2022-11-27 20:02:06 +01:00
Henrik Rydgård
0a3d78221e Fix drag-background-through-buttons problem by adding "touch exclusive" mode to viewgroups.
Not using universally because I don't want to debug all the issues...
2022-11-27 16:16:18 +01:00
Henrik Rydgård
31af24a230 Break out VKRFramebuffer/VKRRenderpass from VulkanRenderManager 2022-11-27 10:22:37 +01:00
Henrik Rydgård
f4b78bacd7 MacOSX: Apply potential fix for #16376
See #16376.

Tested not to break anything on MacOS Mojave. Unfortunately I can't test on Ventura on my x64 mac, it's too old.
2022-11-26 10:38:23 +01:00
Henrik Rydgård
9c033fb57c
Merge pull request #16437 from lvonasek/feature_openxr_hud_improvement
OpenXR - HUD improvements
2022-11-25 21:21:57 +01:00
Lubos
b2d809f4cd typos fixed 2022-11-25 15:58:51 +01:00
Henrik Rydgård
23ba0d0515 Fix layout issues in AbstractChoiceWithValueDisplay. Remove title text from post shaders to fit. 2022-11-25 10:23:59 +01:00
Henrik Rydgård
d97035fffc
Merge pull request #16434 from unknownbrackets/stencil-opt
Vulkan: Use stencil export when available
2022-11-25 10:06:41 +01:00
Lubos
38fa30b42d OpenXR - Camera adjust reset fixed 2022-11-25 09:43:12 +01:00
Lubos
08432dd4e1 OpenXR - Camera controls adjust HUD instead of FOV 2022-11-25 09:25:23 +01:00
Unknown W. Brackets
9fcccd789a Vulkan: Correct displayed depth/stencil format.
Also corrects handling of non-24 bit depth when reducing the range.
2022-11-24 19:09:42 -08:00
Unknown W. Brackets
b33662550f Vulkan: Use stencil export when available.
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Lubos
0e2fd7c2a2 OpenXR - Fix HUD in many games which breaks postprocess effects 2022-11-24 19:17:00 +01:00
Henrik Rydgård
55b1dc6ef4 Warning fixes 2022-11-24 12:14:52 +01:00
Henrik Rydgård
70d1d8fa07 Replace the "GetCurrentStepId"-based state invalidation with callbacks 2022-11-24 10:52:42 +01:00
Henrik Rydgård
a1c61abdda Vulkan validation: One more false positive related to input attachments
See comment in code
2022-11-24 10:48:36 +01:00
Henrik Rydgård
cb7329cd11
Merge pull request #16426 from hrydgard/loadclut-fix
Rebind framebuffer after LoadCLUT-from-framebuffer
2022-11-24 10:48:26 +01:00
Henrik Rydgård
eea0b2632c Add checks against rendering with depth against non-depth targets. 2022-11-24 10:12:22 +01:00
Henrik Rydgård
39f2ddd128 Add compat flag / bug check for games on old Adreno/GL affected by #16015
See #16015

Partly derived from https://github.com/hrydgard/ppsspp/compare/master...unknownbrackets:ppsspp:adreno-deadlock

But this one surgically activates it only for the known affected games, to avoid any additional
performance regressions in the release.

Entirely untested.
2022-11-24 10:05:35 +01:00
Henrik Rydgård
f6fcc9e9a7 Add a way to view the "GPU_USE_" flags at runtime. Useful for sanity checking on-device. 2022-11-23 16:17:41 +01:00
Henrik Rydgård
5230fc7c41 Joystick input: Ignore in-deadzone events from a different device than previous events
Fixes #15465
2022-11-23 12:22:59 +01:00
Lubos
70d30d1cf6 OpenXR - Aspect ratio of menu background fixed 2022-11-22 21:49:52 +01:00
Lubos
59046b8f76 OpenXR - 2D stereo condition fixed 2022-11-22 18:51:42 +01:00
Henrik Rydgård
d551d2a3ed Pause menu background: Remove complicated transparency tricks, instead draw game as part of background. 2022-11-22 12:11:20 +01:00