aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-06-03 00:43:00 -0300
committerGitHub <noreply@github.com>2023-06-03 03:43:00 +0000
commit8a352df3c676e347c267919f2d9a56d75daef348 (patch)
tree9c38bf5373e574b1e61a42117b61f508b3736fea /src/Ryujinx.Graphics.Vulkan/Effects/FsrScalingFilter.cs
parentc545c598512f57de2d178f78095f8bc7b31f07c3 (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.cs8
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();