diff options
| author | riperiperi <rhy3756547@hotmail.com> | 2024-07-18 00:21:32 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-17 20:21:32 -0300 |
| commit | 1a919e99b29fff4e2158e622cb3dfbee21293b6d (patch) | |
| tree | 00f1f3263411b96301be80b26a3b10967374328e /src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs | |
| parent | f77bebac80bd2fcbee72b00845e56faf3de3bad6 (diff) | |
Vulkan: Defer guest barriers, and improve image barrier timings (#7012)
* More guarantees for buffer correct placement, defer guest requested buffers
* Split RP on indirect barrier rn
* Better handling for feedback loops.
* Qualcomm barriers suck too
* Fix condition
* Remove unused field
* Allow render pass barriers on turnip for now
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs')
| -rw-r--r-- | src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs b/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs index ea0fd42e..5c5a8f3a 100644 --- a/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs +++ b/src/Ryujinx.Graphics.Vulkan/FramebufferParams.cs @@ -286,10 +286,23 @@ namespace Ryujinx.Graphics.Vulkan _depthStencil?.Storage?.QueueLoadOpBarrier(cbs, true); - gd.Barriers.Flush(cbs.CommandBuffer, false, null); + gd.Barriers.Flush(cbs, false, null, null); } - public (Auto<DisposableRenderPass> renderPass, Auto<DisposableFramebuffer> framebuffer) GetPassAndFramebuffer( + public void AddStoreOpUsage() + { + if (_colors != null) + { + foreach (var color in _colors) + { + color.Storage?.AddStoreOpUsage(false); + } + } + + _depthStencil?.Storage?.AddStoreOpUsage(true); + } + + public (RenderPassHolder rpHolder, Auto<DisposableFramebuffer> framebuffer) GetPassAndFramebuffer( VulkanRenderer gd, Device device, CommandBufferScoped cbs) |
