Commit Graph

3240 Commits

Author SHA1 Message Date
Henrik Rydgård
39b627c0c1 Fix layout issues, misc cleanup and comments 2022-12-07 10:27:02 +01:00
Henrik Rydgård
aed5d76fbc Make the post shader list more editable 2022-12-07 10:27:02 +01:00
Henrik Rydgård
82680633e7 More usability tweaks 2022-12-07 10:27:02 +01:00
Unknown W. Brackets
77c98441f4 softgpu: Expand fast path to all fb formats.
This should speed up 2D games not using 5551, and make it mroe likely any
regression is caught for Darkstalkers.
2022-12-06 18:43:21 -08:00
Henrik Rydgård
70b6733d0a Minor alpha bit optimization in Darkstalkers rectangle code 2022-12-07 01:50:29 +01:00
Henrik Rydgård
93e5060137 Load and cache langValuesMapping on demand 2022-12-05 12:10:45 +01:00
Henrik Rydgård
5de3a7c252
Merge pull request #16500 from unknownbrackets/warnings
Fixes to recently introduced warnings and a couple older ones
2022-12-04 17:40:30 +01:00
Unknown W. Brackets
e49668eea7 SaveState: Correct missing switch case warnings. 2022-12-04 07:57:30 -08:00
Unknown W. Brackets
0556ee67fc SaveState: Fix a format type error. 2022-12-04 07:57:09 -08:00
Henrik Rydgård
a8939f456a Remove dead code, validation fix in GE debugger
See #16490
2022-12-04 00:49:48 +01:00
Henrik Rydgård
7e97ce1760
Merge pull request #16495 from unknownbrackets/vulkan-shutdown
Cleanup shader module lifetime handling for Vulkan
2022-12-04 00:16:58 +01:00
Unknown W. Brackets
3f620dba58 Vulkan: Reduce some logging when things are fast.
On startup especially this spams sometimes.
2022-12-03 14:56:58 -08:00
Unknown W. Brackets
78ed8d45a7 Vulkan: Defer deletion of shader module promises. 2022-12-03 14:53:10 -08:00
Unknown W. Brackets
53eedf06e3 Vulkan: Track pipeline desc using a refcount.
Not very safe to not allow deletes, and don't want to force Draw objects
on the deleter (this is referenced by them.)
2022-12-03 14:52:06 -08:00
Henrik Rydgård
f3ba8fb334 Address feedback, also sort texture shaders 2022-12-03 19:30:50 +01:00
Henrik Rydgård
b938992da4 Add a new centering capability to AnchorLayout 2022-12-03 19:13:21 +01:00
Henrik Rydgård
238c9439e3
Merge pull request #16491 from unknownbrackets/cleanup
Quick cleanup
2022-12-03 16:38:32 +01:00
Unknown W. Brackets
e50eae1bfb GPU: Cleanup some bounds checks, assignments. 2022-12-03 07:17:12 -08:00
Johan Mattsson
2b1d57257a
Fix comparison 2022-12-03 15:28:22 +01:00
Henrik Rydgård
02b8bf33fb
Merge pull request #16458 from hrydgard/desktop-friendly-msaa
Implement MSAA support for desktop GPUs in Vulkan
2022-12-03 11:22:41 +01:00
Henrik Rydgård
c7041d6e97 Reserve some space in the checkpoints vector 2022-12-02 22:46:39 +01:00
Henrik Rydgård
f5a7661c51 Add a NOOP state to reduce logspam after error 2022-12-02 22:46:38 +01:00
Henrik Rydgård
52a684644d Verify that the Measure and Save passes match accurately through checkpointing
Adding this after seeing some very suspicious behavior in Ratchet &
Clank.
2022-12-02 22:46:38 +01:00
Henrik Rydgård
237fbca979 Savestate: Prepare some sanity checks 2022-12-02 22:46:38 +01:00
Henrik Rydgård
116bc9d59a
Merge pull request #16485 from unknownbrackets/softgpu-fog-nan
softgpu: Handle infnan fog coefficients better
2022-12-02 19:49:32 +01:00
Unknown W. Brackets
6619da2a0d Debugger: Add decimal constants.
For the GE debugger and CPU debugger, it's annoying sometimes to express
everything in hex.  This allows using an i or u prefix to get decimal.
2022-12-02 10:13:32 -08:00
Henrik Rydgård
d554085388 Implement copy operation properly for the multisampled case 2022-12-02 15:25:02 +01:00
Henrik Rydgård
2d6c632bfe Check resolve mode, just to be safe. 2022-12-02 15:19:06 +01:00
Henrik Rydgård
75b558eb5f Address feedback 2022-12-02 14:35:43 +01:00
João Henrique
9fcc6857f6
Fix wrong vreinterpret neon intrinsic usage.
This fixes a compilation failure introduced on d0e8cfa365.
2022-12-02 03:10:57 -03:00
Henrik Rydgård
5610734d40 Assert improvement 2022-12-02 00:30:06 +01:00
Henrik Rydgård
8a3e92aa38 Not pretty, but with this, you can switch MSAA level at runtime. 2022-12-01 23:41:31 +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
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
Henrik Rydgård
ddd2c6e343
Merge pull request #16409 from hrydgard/preserve-framebuffers
Preserve framebuffer on pause screen even if render resolution is changed
2022-11-22 10:03:47 +01:00
Henrik Rydgård
ec6d330ae4 Move AsyncImageFileView to Common, which required some more shuffling around of stuff. 2022-11-21 20:38:20 +01:00
Henrik Rydgård
eff4118769 One more refactoring step 2022-11-21 14:54:48 +01:00
Henrik Rydgård
250ea5e592
Merge pull request #16407 from unknownbrackets/jit-wx
In jits, protect and unprotect using better estimates
2022-11-20 20:39:04 +01:00
Unknown W. Brackets
b2798c7ada jit: Add more reasonable estimates for RX protect. 2022-11-20 10:55:35 -08:00
Unknown W. Brackets
5294a64828 jit: Protect against write over-estimates. 2022-11-20 10:55:35 -08:00
Lubos
1e9ddfda31 OpenXR - 3rd party controller support fixed 2022-11-20 12:22:10 +01:00
Lubos
4a770b36cf Typo fixed 2022-11-17 19:13:04 +01:00
Lubos
c9d1da28fc OpenXR - Cursor aspect ratio 2022-11-17 18:26:18 +01:00
Lubos
c7bcfe9fe9 OpenXR - Accept scrolling from both controllers 2022-11-17 18:19:47 +01:00
Lubos
940a669107 OpenXR - Camera adjust issues resolved 2022-11-17 18:04:35 +01:00
Lubos
db8b159d9e OpenXR - Force PSP menu aspect ratio 2022-11-17 17:30:29 +01:00
Lubos
f92990a002 OpenXR - Better dialog support 2022-11-17 15:25:35 +01:00
Lubos
14b6d75ac6 OpenXR - Use axis integration for camera adjust only 2022-11-17 12:22:16 +01:00
Lubos
011592754f OpenXR - Use mouse control only 2022-11-17 12:19:17 +01:00
Lubos
ddad6b3760 OpenXR - Support axis 2022-11-17 10:52:12 +01:00
Lubos
0ae1d75daf OpenXR - Support camera adjust using joystick 2022-11-17 10:22:01 +01:00
Unknown W. Brackets
4a367148e6 GPU: Centralize more GPU_USE flags, like depth. 2022-11-13 08:04:47 -08:00
Henrik Rydgård
1ae6047da9
Merge pull request #16379 from unknownbrackets/stencil-android
Fix alpha/stencil replace on Adreno when color masked
2022-11-13 10:12:39 +01:00
Unknown W. Brackets
3f875af2d7 Vulkan: Mark Adreno bug resolved on recent driver.
Playing it safe for 5xx devices and assuming they are still affected.
2022-11-12 17:41:48 -08:00
Unknown W. Brackets
c20bcc1f08 UI: Avoid enum/float comparisons. 2022-11-12 12:30:04 -08:00
Unknown W. Brackets
294d028dbf VR: Remove unnecessary deprecated header. 2022-11-12 12:30:04 -08:00
Unknown W. Brackets
3e5d77ab46 SaveState: Switch from deprecated is_pod. 2022-11-12 12:30:04 -08:00
Lubos
97d63a321c OpenXR - Test mirroring over 30 various games 2022-11-10 21:30:15 +01:00
Lubos
d32b6ceff0 OpenXR - Get all mirroring variants 2022-11-10 20:45:34 +01:00
Lubos
307acaa9b7 OpenXR - View matrix identity check breaking several games fixed 2022-11-09 19:25:08 +01:00
Lubos
b980f55645 OpenXR - Don't get mirroring from identity matrix 2022-11-09 19:07:45 +01:00
Lubos
8716021244 OpenXR - Do not apply head rotation on identity matrix 2022-11-09 17:59:14 +01:00
Unknown W. Brackets
305aae3e50
Merge pull request #16363 from hrydgard/android-shader-assert
OpenGL ES: Bail as early as possible if things are bad
2022-11-08 06:01:41 -08:00
Henrik Rydgård
87bd7aaccc
Merge pull request #16356 from lvonasek/cleanup_camera_control
OpenXR - Camera adjust using any controller
2022-11-08 12:28:44 +01:00
Henrik Rydgård
dd0409d68c OpenGL ES: Crash as early as possible if things are bad
There's a huge variety of crash report in the Play Console of various
opengl failures. Try to concentrate them to early points in
initialization
2022-11-08 10:43:38 +01:00
Henrik Rydgård
ecd62e7eb2 Lift length limit on Android logging 2022-11-08 00:21:37 +01:00
Henrik Rydgård
4d637342f7 Log source code for failed pipeline creations 2022-11-08 00:21:08 +01:00
Henrik Rydgård
90f67e91f5 Avoid drawing with failed-to-create pipelines 2022-11-08 00:21:08 +01:00
Henrik Rydgård
25547b5fe2 Make Mailbox handle null values. Fixes hang. 2022-11-08 00:21:08 +01:00
Henrik Rydgård
bd40ccda51 Improve VkResult logging 2022-11-08 00:21:07 +01:00
Henrik Rydgård
7b09fc43b0 Warning fix in VR code 2022-11-08 00:21:07 +01:00
Lubos
eec414d331 OpenXR - Allow more extreme camera adjusts 2022-11-07 21:40:25 +01:00
Lubos
47f2afcd55 Merge branch 'master' into cleanup_camera_control 2022-11-07 18:23:07 +01:00
Henrik Rydgård
7beff4da96
Merge pull request #16350 from lvonasek/refactor_openxr_matrices
OpenXR - Refactor
2022-11-07 18:18:55 +01:00
Henrik Rydgård
e7b6fcd513 Properly buildfix GL/VR again 2022-11-07 17:36:46 +01:00
Henrik Rydgård
81dd95e16d Fix sky plane fix (broke in my last VR refactor) 2022-11-07 17:13:14 +01:00
Lubos
cd49dc6627 OpenXR - Camera adjustment using PSP keys 2022-11-07 17:13:08 +01:00
Lubos
90d117ce71 OpenXR - Keep status of PSP keys 2022-11-07 16:46:10 +01:00
Lubos
73ccff9ba0 Restore assert 2022-11-07 16:28:41 +01:00
Henrik Rydgård
c7db9a865d Disable remaining false positive. 2022-11-07 09:51:11 +01:00
Henrik Rydgård
668904a515 Vulkan: Use the very same view as input attachment and color attachment, not just the same image
Fixes most of the new validation errors seen #16351, though one remains.

I believe that to be a bug in the validation layers, will investigate
later.
2022-11-07 09:14:55 +01:00
Lubos
e96b9b4649 Remove unnecessary assert 2022-11-06 22:38:15 +01:00
Lubos
c58359a3b3 OpenXR - Move configs out of VRRenderer 2022-11-06 22:30:35 +01:00
Lubos
460386e344 OpenXR - Move matrix calculation out of VRRenderer 2022-11-06 22:06:27 +01:00
Lubos
cd54873edb OpenXR - Simplify projection matrix creation 2022-11-06 21:48:55 +01:00
Lubos
520b92aa94 OpenXR - Matrix indexing fixed 2022-11-06 21:45:47 +01:00
Lubos
5c9e6968a5 OpenXR - Get rid of separate projection matrices 2022-11-06 21:21:13 +01:00
Lubos
637bb57bc6 OpenXR - Get rid of ovrMatrix4f structure 2022-11-06 20:42:28 +01:00
Henrik Rydgård
09c0ebd3ca Windows ARM/ARM64 buildfix 2022-11-06 17:40:41 +01:00
Henrik Rydgård
44106ff2e7 Linking fix for normal Android devices 2022-11-06 15:58: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
0ef39d11d8 Add a dynamic loader for OpenXR so the VR code can link. Make it all build on Windows. 2022-11-06 15:37:58 +01:00
Henrik Rydgård
c44afcf462 Typo fix 2022-11-06 14:37:56 +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
5d3ec6c8ff Fix type of predictedDisplayTime 2022-11-06 14:35:28 +01:00
Henrik Rydgård
8398b779fb 6dof fix 2022-11-06 11:51:28 +01:00
Henrik Rydgård
ef3b0607ef Rename 6DOF_PRECISE to HAS_UNIT_SCALE 2022-11-06 11:39:41 +01:00
Henrik Rydgård
9b619b8c0b Remove ugly float conversion hacks from VR config 2022-11-06 11:37:52 +01:00
Henrik Rydgård
8bb2313f5d Finish previous buildfix... 2022-11-06 11:34:27 +01:00
Henrik Rydgård
4d81506046 Upgrade gradle, specify NDK version in android/build.gradle
Also fix a warning.
2022-11-06 09:44:06 +01:00
Unknown W. Brackets
15fdb54a59
Merge pull request #16337 from hrydgard/renderpass-type-bitfield
Vulkan: Switch RenderPassType to be a "proper" bitfield enum.
2022-11-05 16:28:48 -07:00
Henrik Rydgård
439b38f705 Comment fixes (feedback) 2022-11-06 00:11:04 +01:00
Henrik Rydgård
675a046759 Fix parsing ampersands in server listings for streaming
Fixes #16263 , or so I hope - haven't actually tested it, but seems
straightforward enough.
2022-11-05 23:31:30 +01:00
Henrik Rydgård
7742fbdeb6 Switch RenderPassType to be a "proper" bitfield enum. 2022-11-05 22:06:53 +01:00
Henrik Rydgård
10c6232b9b
Merge pull request #16310 from lvonasek/feature_openxr_motion
OpenXR - Map controller gestures
2022-11-05 18:18:57 +01:00
Lubos
a52afe9fd8 Merge branch 'master' into cleanup_openxr_core 2022-11-05 10:51:29 +01:00
Lubos
14abd91861 Merge branch 'master' into feature_openxr_motion 2022-11-05 10:49:11 +01:00
Lubos
22980c8b9f Code formatting fixed 2022-11-05 10:16:24 +01:00
Lubos
aacbe4f4a3 OpenXR - Get platform flags in runtime 2022-11-04 14:53:07 +01:00
Lubos
aafa17fa73 OpenXR - Introduce platform flags 2022-11-04 14:22:42 +01:00
Lubos
f8d29e0d19 OpenXR - Fix ifdef ANDROID 2022-11-04 13:52:32 +01:00
Lubos
1d452a2e01 OpenXR - Add an option to disable 72Hz update 2022-11-03 21:33:46 +01:00
Lubos
c6b83dd9d8 OpenXR - Enable camera movement and stereo in flatscreen mode 2022-11-03 20:00:30 +01:00
Lubos
823bfae5ea Memory initialization fixed 2022-10-31 15:00:09 +01:00
Lubos
3c87e71177 OpenXR - Let users set the movement length 2022-10-31 13:19:06 +01:00
Lubos
0101c464a5 OpenXR - Option to disable controller mapping 2022-10-31 12:17:30 +01:00
Lubos
b740bfbcfb OpenXR - Map controller motions on keys 2022-10-31 11:59:07 +01:00
Henrik Rydgård
cf27d14131
Merge pull request #16293 from lvonasek/feature_openxr_camera
OpenXR - Modify camera parameters in realtime
2022-10-30 09:14:56 +01:00
Unknown W. Brackets
0cc94ceb15 Draw: Correct ambiguous comparison overload. 2022-10-29 12:52:00 -07:00
Lubos
cbf93d586c typo fixed 2022-10-29 21:39:46 +02:00
Lubos
363f102cc5 OpenXR - Add new virtual key for camera adjust 2022-10-29 20:47:29 +02:00
Lubos
92422160a0 OpenXR - Camera side adjust added 2022-10-29 19:31:57 +02:00
Lubos
b7da6f7e45 OpenXR - Camera height adjust added 2022-10-29 19:19:25 +02:00
Lubos
48f9c98559 OpenXR - Do not process key actions during camera adjust 2022-10-29 18:50:51 +02:00
Unknown W. Brackets
0bc2bb9efb Vulkan: Log additional queue command. 2022-10-29 09:05:14 -07:00
Henrik Rydgård
c6fe91224a Vulkan: Fixes validation errors with "null" textures
These arise in non-buffered rendering when we don't have a framebuffer
to texture from.
2022-10-28 18:40:55 +02:00
Lubos
96f89f4bd7 OpenXR - Allow updating camera in realtime 2022-10-28 15:50:00 +02:00
Lubos
f4f7dc570f OpenXR - Make VR camera parameters floating numbers 2022-10-28 14:59:12 +02:00
Henrik Rydgård
ab1cebec51 Actually bind a global uniform buffer, too. Not yet used. 2022-10-28 10:15:36 +02:00
Henrik Rydgård
96a5c52037 Vulkan: Reserve descriptor set 0 for frame-global data, move everything else to set 1 2022-10-28 09:39:56 +02:00
Henrik Rydgård
6d9008dab5 Fix validation issue with clears, remove redundant code 2022-10-27 11:05:59 +02:00
Henrik Rydgård
763afd4a8e Improve compatibility checks for stereo rendering. 2022-10-27 11:05:59 +02:00
Henrik Rydgård
31fd928a5c Name more image views. Very useful with a little patch to the Vulkan debug layers. 2022-10-27 11:05:59 +02:00
Henrik Rydgård
cd203291ba Fix rendering in non-stereo mode 2022-10-27 11:05:59 +02:00
Henrik Rydgård
15d4495f76 Pass shadergen tests 2022-10-27 11:05:59 +02:00
Henrik Rydgård
2a1526c352 Address feedback 2022-10-27 11:05:59 +02:00
Henrik Rydgård
390a136cb5 Stereo now works through shader depal too 2022-10-27 11:05:59 +02:00
Henrik Rydgård
8413473fa4 Fix more cases, GTA works now. 2022-10-27 11:05:59 +02:00
Henrik Rydgård
524e92374f Use arrays more consistently. 2022-10-27 11:05:59 +02:00
Henrik Rydgård
91259aaad7 Always use array textures for framebuffers in Vulkan for simplicity. 2022-10-27 11:05:58 +02:00
Henrik Rydgård
2bea495981 wip 2022-10-27 11:05:58 +02:00
Henrik Rydgård
f1b515caaf Minor shaderwriter refactor 2022-10-27 11:05:58 +02:00
Henrik Rydgård
0de12f5ca9 Some refactoring of framebuffer views, layer issues, more work. 2022-10-27 11:05:58 +02:00
Henrik Rydgård
2e87f0bc0b More work. Things are starting to work now. 2022-10-27 11:05:58 +02:00
Henrik Rydgård
c668736924 Add a couple of stereo display shaders, add infrastructure, compile stereo pipelines 2022-10-27 11:05:58 +02:00
Henrik Rydgård
3ce8133656 Non-stereo bugfix 2022-10-27 11:05:58 +02:00
Henrik Rydgård
fb250c4b29 More multiview work 2022-10-27 11:05:58 +02:00
Henrik Rydgård
d3804ec2e5 Misc multiview hackery 2022-10-27 11:05:58 +02:00
Henrik Rydgård
7a620962aa thin3d: Replace hint at future MRT support with basic multi layer support 2022-10-27 11:05:58 +02:00
Henrik Rydgård
80e1db07a7 Minor ShaderWriter refactor, prep for later changes 2022-10-24 17:45:18 +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
Henrik Rydgård
e77ff0281f Testfix 2022-10-24 00:20:45 +02:00
Henrik Rydgård
ecf2797173 Minor refactor of ShaderWriter flags. Extracted from the stereo PR 2022-10-23 21:57:01 +02:00
Unknown W. Brackets
813bfded92
x86jit: Correct vh2f NAN handling (#16275)
* x86jit: Correct vh2f NAN handling.

Allows another test to pass.

* x86jit: Reuse MAccessibleDisp().
2022-10-23 10:09:29 +02:00
Henrik Rydgård
3af86ec6f7 Make it possible to specify extensions for Vulkan in the ShaderWriter 2022-10-22 17:46:57 +02:00
Luboš Vonásek
df04280c34
OpenXR - Wrong condition removed (#16271) 2022-10-22 14:45:57 +00:00
Henrik Rydgård
cafce7365b Vulkan: Fix frame ordering issue with postprocessing shaders
Requested an init command buffer outside the frame, which is dangerous
and caused validation problems with command pool resets.

Would like to assert on insideFrame in GetInitCmd, but we use it from
some init code where it does work correctly. Might clean that up at some
point.
2022-10-21 12:52:21 +02:00
Lubos
2fd6438c0e OpenXR - Camera distance adjust added 2022-10-20 21:23:27 +02:00
Henrik Rydgård
90d395a10d Remove "attachment" parameter from BindFramebufferAsTexture everywhere.
Not actually useful since our framebuffer objects don't support multiple
color images, and probably won't ever need to.
2022-10-20 10:15:19 +02:00
Henrik Rydgård
8cd602a9c6
Merge pull request #16257 from unknownbrackets/error-cleanup
Kernel: Fix reported StopThread error
2022-10-19 08:06:30 +02:00
Unknown W. Brackets
a42064eb48 Vulkan: Correct some enum switch warnings.
Nice to log debug annotations anyway.
2022-10-18 21:52:38 -07:00
Lubos
fbb1e7eda0 OpenXR - Use only the first projection matrix in frame for mirroing detection 2022-10-18 12:39:42 +02:00
Henrik Rydgård
269eb55c17 Build/warning fix 2022-10-18 10:48:16 +02:00
Henrik Rydgård
feb4f9477a Remove newly added dependencies on PPSSPP 2022-10-18 10:35:42 +02:00
Henrik Rydgård
0251f33ec3 Don't use PPSSPP-specific stuff in Common/VR for now. 2022-10-17 23:13:43 +02:00
Henrik Rydgård
0a222345c1 Buildfixes 2022-10-17 20:43:58 +02:00
Henrik Rydgård
70488be450 Make as much as possible of the VR code build on all platforms 2022-10-17 20:12:48 +02: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
be2613d495 OpenXR - Move VR passes count calculation 2022-10-17 19:07:27 +02:00
Lubos
8ed105ff83 OpenXR - Simplify projection matrix analyze 2022-10-17 18:57:47 +02:00
Lubos
468a193d6d OpenXR - Get rid of VR tweaks 2022-10-17 18:52:03 +02:00
Lubos
d5c9d15ec3 OpenXR - Move matrix composing out of VR tweaks 2022-10-17 18:31:01 +02:00
Henrik Rydgård
eb18a87eee
Merge pull request #16186 from lvonasek/feature_openxr_vulkan
OpenXR - Initial work to support multiple render APIs
2022-10-17 14:47:47 +02:00
Lubos
e90a7de3e4 OpenXR - Add VR mode for stereo flat screen rendering 2022-10-16 20:28:45 +02:00
Henrik Rydgård
cd0cef7aa1
Merge pull request #16219 from catsout/fix-vulkan-wayland
Vulkan: fix wayland swapchain size 1x1
2022-10-15 22:51:48 +02:00
Unknown W. Brackets
8156f6fe28 D3D9: Correct scissor state cache in Draw.
Gets reset when updating the render target.  This fixes UI scissors.
2022-10-15 12:50:27 -07: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
Lubos
de41650318 OpenXR - Disable VUlkan for now 2022-10-14 16:47:54 +02:00
Henrik Rydgård
f269137c78 Revert "Vulkan: Create depth/stencil buffers on demand"
This reverts commit be37de106c.
2022-10-13 22:39:47 +02:00
Henrik Rydgård
4d1da5859c Add simple way to add debug annotation in the middle of the command stream. Vulkan-only. 2022-10-13 22:39:44 +02:00
Lubos
d0431e494a OpenXR - Create VR framebuffer for Vulkan 2022-10-12 19:16:17 +02:00
Lubos
ade606bc3c OpenXR - Hookup VR API into Vulkan 2022-10-12 16:21:54 +02:00
Henrik Rydgård
e0e29a1556
Merge pull request #16197 from hrydgard/more-uniform-optimization
More uniform optimization, fixes
2022-10-12 01:00:27 +02: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
901f698a10
Merge pull request #16201 from unknownbrackets/gedebugger
GE Debugger: Normalize framebuffer texture preview
2022-10-11 11:33:19 +02:00
Henrik Rydgård
804220afb1
Merge pull request #16198 from unknownbrackets/gles-stencil
Readback stencil buffer for debugger on GLES
2022-10-11 10:55:38 +02:00
Unknown W. Brackets
999055791d D3D9: Remove block transfer code overrides.
We can just use Draw now.  Keep depth, though, since it applies scale.
2022-10-10 21:48:38 -07:00
Henrik Rydgård
8b2e7d6e2f
Merge pull request #16200 from unknownbrackets/vulkan-depth
Vulkan: Fix initial depth copy w/o existing depth
2022-10-11 06:45:21 +02:00
Unknown W. Brackets
c89cf1cde7 D3D9: Implement CopyFramebufferToMemorySync().
This works like other backends, including D3D11.  This allows us to get
rid of the old implementation and reuse more code.
2022-10-10 21:28:14 -07:00
Unknown W. Brackets
26fd063cd1 Vulkan: Fix initial depth copy w/o existing depth. 2022-10-10 19:14:34 -07:00
Unknown W. Brackets
fc68cd9457 GLES: Add debug readback of stencil data.
This allows the existing gpu.buffer.renderStencil to snapshot the state.
2022-10-10 17:09:14 -07:00
Unknown W. Brackets
b991a84b91 GLES: Allow stencil texturing if supported. 2022-10-10 16:43:19 -07:00
Henrik Rydgård
6f703128ec Experimentally revert "Delete some misguided FPU control code, that we definitely don't want"
This reverts commit d52d383c22.
2022-10-10 18:35:29 +02:00
Henrik Rydgård
69bc7b060f glslang: Set a missing resource limit. Avoids spurious errors in shader unit test 2022-10-10 17:17:17 +02:00
Henrik Rydgård
d56bdcb81e
Merge pull request #16196 from hrydgard/improved-render-stats
Improved stats in the Vulkan GPU profiler
2022-10-10 15:40:17 +02:00
Henrik Rydgård
d4bfe9299d Track min and max GPU time, init time, render CPU time.
Mainly wanted to see if init time is a factor, there are optimizations
we can do there.
2022-10-10 10:53:27 +02:00
Henrik Rydgård
d52d383c22 Delete some misguided FPU control code, that we definitely don't want 2022-10-10 10:46:51 +02:00
Henrik Rydgård
32699da6df Vulkan (trivial): Fix numDraws stat when merging render passes. Shorten a name. 2022-10-10 10:06:30 +02:00
Unknown W. Brackets
179c1e4a3b GLES: Enable EXT_depth_clamp where supported.
Seems like Freedreno may support this.
2022-10-10 00:54:29 -07:00
Henrik Rydgård
dd389ade8f
Merge pull request #16192 from unknownbrackets/depth-download
D3D11: Correct depth readback
2022-10-10 09:48:18 +02:00
Unknown W. Brackets
bad4a93d3c D3D11: Correct depth readback. 2022-10-09 15:50:50 -07:00
Unknown W. Brackets
8c1acc30e4 Savedata: Combine file info and dir listing calls. 2022-10-09 14:42:31 -07:00