Commit graph

623 commits

Author SHA1 Message Date
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
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
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
ade606bc3c OpenXR - Hookup VR API into Vulkan 2022-10-12 16:21:54 +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
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
26fd063cd1 Vulkan: Fix initial depth copy w/o existing depth. 2022-10-10 19:14:34 -07: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
32699da6df Vulkan (trivial): Fix numDraws stat when merging render passes. Shorten a name. 2022-10-10 10:06:30 +02:00
Henrik Rydgård
be37de106c Vulkan: Create depth/stencil buffers on demand 2022-10-09 20:28:32 +02:00
Lubos
43f848a2aa Merge branch 'master' into feature_openxr_vulkan 2022-10-09 17:49:17 +02:00
Lubos
7c6cff5ae9 Merge branch 'master' into feature_openxr_vulkan 2022-10-09 17:48:23 +02:00
Unknown W. Brackets
bc84d6345b Vulkan: Disable geometry shaders for Mali <= 18.
These drivers apparently have some weird behavior.
2022-10-09 00:57:10 -07:00
Henrik Rydgård
b7f79dd8b2
Merge pull request #16153 from hrydgard/gpu-profiler-fixes
GPU profiler fixes
2022-10-03 12:57:55 +02:00
Henrik Rydgård
2207c1271a Fix validation error with the GPU profiler 2022-10-03 12:13:11 +02:00
Henrik Rydgård
ba78854759 Improve Vulkan profiler (show framebuffer tag for render passes) 2022-10-03 11:54:17 +02:00
Herman Semenov
29b87e0c0b
Merge branch 'master' into master 2022-10-03 07:49:13 +00:00
Unknown W. Brackets
8df956b036 Vulkan: Block geometry shaders on older Mali.
They're too slow to be usable.
2022-10-02 07:42:22 -07:00
Henrik Rydgård
cdee10fe86 Vulkan: Basic geoshader code generation. 2022-10-02 07:42:17 -07:00
Unknown W. Brackets
d16caa71af Vulkan: Add geometry shader ID tracking.
We're still not generating them, yet.  But this tracks the objects and
IDs through the pipeline.
2022-10-02 07:42:16 -07:00
Unknown W. Brackets
38e16324f0 Vulkan: Clean up shader module tag. 2022-10-02 07:42:16 -07:00
Unknown W. Brackets
87171cef98 GPU: Add geometry path for shader writer.
Not yet used.
2022-10-01 12:45:43 -07:00
Unknown W. Brackets
59a489f883 Draw: Add COLOR1 semantic. 2022-10-01 12:14:46 -07:00
lainon
3cdf72b68b Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back' 2022-09-30 12:35:28 +03:00
lainon
c953bf7fc7 Fixed bug and memleaks 2022-09-30 12:32:49 +03:00
lainon
fec708489a Correct cleaning string and remove unused vars 2022-09-30 12:26:30 +03:00
Henrik Rydgård
8534b8d7ca Typo fix 2022-09-28 16:44:40 +02:00
Henrik Rydgård
bd759790b0 Update the Vulkan debug names when reassigning depth buffers. 2022-09-28 14:09:40 +02:00
Henrik Rydgård
34d1661c48 Quiet the Vulkan miniprofiler (for texture uploads etc) a bit 2022-09-28 13:40:57 +02:00
Henrik Rydgård
ca5c69d3dd Vulkan: Better debug names for RENDER passes. 2022-09-27 23:41:09 +02:00
Henrik Rydgård
9b46adb985 Fix color test.
Fixes the new color test bug reported in #13324, though doesn't fix that
issue (didn't confirm it still is one).
2022-09-26 22:51:46 +02:00
Henrik Rydgård
196f8e3461 Prepare for dynamic mat update 2022-09-26 11:21:40 +02:00
Henrik Rydgård
a7642bac15 Replace faulty layout transition deduplication algorithm. 2022-09-25 23:24:54 +02:00
Henrik Rydgård
894ab45677 Vulkan: Add debug names to our command buffers, so you can see which one errored in validation 2022-09-25 23:24:29 +02:00
Unknown W. Brackets
e6db0bef2d
Merge pull request #16099 from hrydgard/vulkan-dont-always-alloc-depth
Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
2022-09-25 08:05:50 -07:00
Henrik Rydgård
70c5ca62e6 Remove debug log. Add some new debug log though, unrelated to this PR, for fb clut + fb texture. Plus a couple asserts. 2022-09-25 09:56:39 +02:00
Henrik Rydgård
753fd13494 Vulkan: Avoid allocating depth images for stuff like temp copies, depal buffers etc.
Pretty small impact, but good to do.

An interesting extension of this would upconvert framebuffers in the
FramebufferManager to have a depth buffer the first time depth is used on them,
but this doesn't do that yet.
2022-09-24 23:21:48 +02:00
Henrik Rydgård
9f3dfe7ebe Vulkan: Don't compile pipeline variants that don't make sense given their flags.
Ran into this with cache files from previous version of my change.

Also bumping the shader cache ID again to avoid this in other ways, but
good to be robust here.
2022-09-24 22:39:22 +02:00
Unknown W. Brackets
7b1ec28c30 Vulkan: Avoid crash on two backbuffer steps.
Happens when resuming from stepping, sometimes: first
EmuScreen_BackBuffer, which is done so UI is functional during stepping,
and then the actual blit.

Since this is an uncommon case, let's just allow it by reusing the
presentCmd instead of submitting it early.  Otherwise it ends up in a
pending state.
2022-09-23 18:47:51 -07:00
Henrik Rydgård
1259283c2e More tweaks, fix crash on exit (double-join thread) 2022-09-23 22:10:29 +02:00
Henrik Rydgård
df1297bccf Small tweak 2022-09-23 20:51:46 +02:00
Henrik Rydgård
c671b3f413 Can't seem to get around this condition variable... Oh well. 2022-09-23 20:45:52 +02:00
Henrik Rydgård
f6c78584f6 Readback fix 2022-09-23 19:45:50 +02:00
Henrik Rydgård
ef7c8844f8 Greatly simplify the thread synchronization. 2022-09-23 19:40:50 +02:00
Henrik Rydgård
f784112814 Flatten the Run function, to make it easier to reorganize. 2022-09-23 19:40:50 +02:00
Henrik Rydgård
5e63cdbcc4 Make functions private that should be private 2022-09-23 19:40:50 +02:00