From 9c6071a645e72b56e42cf687f9c1a182be2673ac Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 11 Jul 2023 14:07:41 -0300 Subject: Move support buffer update out of the backends (#5411) * Move support buffer update out of the backends * Fix render scale init and remove redundant state from SupportBufferUpdater * Stop passing texture scale to the backends * XML docs for SupportBufferUpdater --- .../DescriptorSetUpdater.cs | 39 +--------------------- 1 file changed, 1 insertion(+), 38 deletions(-) (limited to 'src/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs') diff --git a/src/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/src/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 087d90fb..89471091 100644 --- a/src/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/src/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -35,7 +35,6 @@ namespace Ryujinx.Graphics.Vulkan private readonly bool[] _uniformSet; private readonly bool[] _storageSet; - private Buffer _cachedSupportBuffer; [Flags] private enum DirtyFlags @@ -115,7 +114,7 @@ namespace Ryujinx.Graphics.Vulkan SwizzleComponent.Red, SwizzleComponent.Green, SwizzleComponent.Blue, - SwizzleComponent.Alpha), 1f); + SwizzleComponent.Alpha)); _dummySampler = (SamplerHolder)gd.CreateSampler(new SamplerCreateInfo( MinFilter.Nearest, @@ -392,26 +391,6 @@ namespace Ryujinx.Graphics.Vulkan { Initialize(cbs, setIndex, dsc); } - - if (setIndex == PipelineBase.UniformSetIndex) - { - Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; - - if (!_uniformSet[0]) - { - _cachedSupportBuffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value; - _uniformSet[0] = true; - } - - uniformBuffer[0] = new DescriptorBufferInfo - { - Offset = 0, - Range = (ulong)SupportBuffer.RequiredSize, - Buffer = _cachedSupportBuffer, - }; - - dsc.UpdateBuffers(0, 0, uniformBuffer, DescriptorType.UniformBuffer); - } } foreach (ResourceBindingSegment segment in bindingSegments) @@ -553,22 +532,6 @@ namespace Ryujinx.Graphics.Vulkan [MethodImpl(MethodImplOptions.AggressiveInlining)] private void UpdateAndBindUniformBufferPd(CommandBufferScoped cbs, PipelineBindPoint pbp) { - if (!_uniformSet[0]) - { - Span uniformBuffer = stackalloc DescriptorBufferInfo[1]; - - uniformBuffer[0] = new DescriptorBufferInfo - { - Offset = 0, - Range = (ulong)SupportBuffer.RequiredSize, - Buffer = _gd.BufferManager.GetBuffer(cbs.CommandBuffer, _pipeline.SupportBufferUpdater.Handle, false).Get(cbs, 0, SupportBuffer.RequiredSize).Value, - }; - - _uniformSet[0] = true; - - UpdateBuffers(cbs, pbp, 0, uniformBuffer, DescriptorType.UniformBuffer); - } - var bindingSegments = _program.BindingSegments[PipelineBase.UniformSetIndex]; var dummyBuffer = _dummyBuffer?.GetBuffer(); -- cgit v1.2.3