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