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
7742fbdeb6
Switch RenderPassType to be a "proper" bitfield enum.
2022-11-05 22:06:53 +01:00
Unknown W. Brackets
0bc2bb9efb
Vulkan: Log additional queue command.
2022-10-29 09:05:14 -07: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
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
8413473fa4
Fix more cases, GTA works now.
2022-10-27 11:05:59 +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
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
Unknown W. Brackets
a42064eb48
Vulkan: Correct some enum switch warnings.
...
Nice to log debug annotations anyway.
2022-10-18 21:52:38 -07: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
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
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
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
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
ba78854759
Improve Vulkan profiler (show framebuffer tag for render passes)
2022-10-03 11:54:17 +02:00
lainon
fec708489a
Correct cleaning string and remove unused vars
2022-09-30 12:26:30 +03:00
Henrik Rydgård
ca5c69d3dd
Vulkan: Better debug names for RENDER passes.
2022-09-27 23:41:09 +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
ef7c8844f8
Greatly simplify the thread synchronization.
2022-09-23 19:40:50 +02:00
Henrik Rydgård
7bef90297c
Best practices layer warning: Don't pass in unused clear values. (probably zero impact, heh).
2022-09-23 13:54:14 +02:00
Henrik Rydgård
ac4ca592c3
Handle depth buffer write-after-write hazards in the queue runner
2022-09-23 13:47:11 +02:00
Henrik Rydgård
11b807828f
Fix for render pass merge
2022-09-22 10:22:29 +02:00
Henrik Rydgård
8e30a7ccfc
Vulkan: Don't have renderpasses store/load depth buffers when we don't use them
2022-09-22 10:06:05 +02:00
Henrik Rydgård
f6cb6c7695
Submit main command buffer before acquire. Fix sync bug.
2022-09-20 17:52:48 +02:00
Henrik Rydgård
fff080202f
When taking screenshots, make sure that the readback command happens on the right cmdbuf.
2022-09-20 17:48:19 +02:00
Henrik Rydgård
b190c33cc7
Rewrite some present logic for slightly more clarity. Fixes bad logic and a minor race condition.
2022-09-20 17:05:53 +02:00
Henrik Rydgård
d0016add37
Start moving stuff out to VulkanFrameData.cpp
2022-09-19 18:14:41 +02:00
Henrik Rydgård
fc84f25818
Quick GE debugger stepping fix, after the recent vulkan swapchain acquire change
2022-09-18 12:10:23 +02:00
Henrik Rydgård
9d9f2c539e
Finish the switch to late acquire, moving the swapchain responsibility to the queue runner.
2022-09-17 08:43:13 +02:00
Henrik Rydgård
a369252a29
RunSteps cleanup
2022-09-17 01:41:26 +02:00
Henrik Rydgård
415a795b11
Move back buffer rendering to a separate "present" command buffer
2022-09-17 01:11:41 +02:00
Henrik Rydgård
242efba6f7
Remove splitSubmit setting. Now we submit init commands before the acquire.
2022-09-17 01:07:30 +02:00
Henrik Rydgård
eadb144cc4
Show render pass types in GPU profiler
2022-09-16 19:19:42 +02:00
Henrik Rydgård
ce82fce8de
Use subpass dependencies to implement shader framebuffer read in Vulkan.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
58a7f0cf21
Assorted cleanup
2022-09-08 01:26:01 +02:00
Henrik Rydgård
caff2ea573
Correct merging of render passes. However, we have lifetime issues.
2022-09-08 00:38:32 +02:00
Henrik Rydgård
7ab7440475
Also create renderpass variants on demand
2022-09-08 00:38:32 +02:00
Henrik Rydgård
80ca822bf2
Create framebuffer variants on demand
2022-09-08 00:38:28 +02:00
Henrik Rydgård
e828df9f25
Split each renderpass/framebuffer into multiple "compatibility classes" (RenderPassType).
2022-09-08 00:32:03 +02:00