aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2021-12-30 10:00:34 -0300
committerGitHub <noreply@github.com>2021-12-30 14:00:34 +0100
commit1485780d90a554a9a71585ff1dd6e049b32b761e (patch)
tree78412a29a86784f67e1d37fceb3b33cd4e199dff /Ryujinx.Graphics.OpenGL/Image/TextureView.cs
parentb4f8ae7a759670c3fa22ff11e468c677fd64a682 (diff)
Fix A1B5G5R5 format for good (#2955)
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Image/TextureView.cs')
-rw-r--r--Ryujinx.Graphics.OpenGL/Image/TextureView.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Image/TextureView.cs b/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
index 137f7d6e..40ab18ef 100644
--- a/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
+++ b/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
@@ -72,7 +72,16 @@ namespace Ryujinx.Graphics.OpenGL.Image
(int)Info.SwizzleA.Convert()
};
- if (Info.Format.IsBgr())
+ if (Info.Format == Format.A1B5G5R5Unorm)
+ {
+ int temp = swizzleRgba[0];
+ int temp2 = swizzleRgba[1];
+ swizzleRgba[0] = swizzleRgba[3];
+ swizzleRgba[1] = swizzleRgba[2];
+ swizzleRgba[2] = temp2;
+ swizzleRgba[3] = temp;
+ }
+ else if (Info.Format.IsBgr())
{
// Swap B <-> R for BGRA formats, as OpenGL has no support for them
// and we need to manually swap the components on read/write on the GPU.