diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2023-06-03 00:43:00 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-03 03:43:00 +0000 |
| commit | 8a352df3c676e347c267919f2d9a56d75daef348 (patch) | |
| tree | 9c38bf5373e574b1e61a42117b61f508b3736fea /src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs | |
| parent | c545c598512f57de2d178f78095f8bc7b31f07c3 (diff) | |
Allow BGRA images on Vulkan (#5203)
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs')
| -rw-r--r-- | src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs b/src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs index e9952126..7317b567 100644 --- a/src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs +++ b/src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs @@ -96,8 +96,6 @@ namespace Ryujinx.Graphics.Vulkan.Effects { var originalInfo = view.Info; - var swapRB = originalInfo.Format.IsBgr() && originalInfo.SwizzleR == SwizzleComponent.Red; - var info = new TextureCreateInfo( width, height, @@ -110,9 +108,9 @@ namespace Ryujinx.Graphics.Vulkan.Effects originalInfo.Format, originalInfo.DepthStencilMode, originalInfo.Target, - swapRB ? originalInfo.SwizzleB : originalInfo.SwizzleR, + originalInfo.SwizzleR, originalInfo.SwizzleG, - swapRB ? originalInfo.SwizzleR : originalInfo.SwizzleB, + originalInfo.SwizzleB, originalInfo.SwizzleA); _intermediaryTexture?.Dispose(); _intermediaryTexture = _renderer.CreateTexture(info, view.ScaleFactor) as TextureView; @@ -155,7 +153,7 @@ namespace Ryujinx.Graphics.Vulkan.Effects var bufferRanges = new BufferRange(bufferHandle, 0, rangeSize); _pipeline.SetUniformBuffers(stackalloc[] { new BufferAssignment(2, bufferRanges) }); - _pipeline.SetImage(0, _intermediaryTexture, GAL.Format.R8G8B8A8Unorm); + _pipeline.SetImage(0, _intermediaryTexture, FormatTable.ConvertRgba8SrgbToUnorm(view.Info.Format)); _pipeline.DispatchCompute(dispatchX, dispatchY, 1); _pipeline.ComputeBarrier(); |
