From 4731c7545d31900c44e25f40d6bbc1ad5e8cba66 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sat, 2 Jun 2018 11:44:52 -0300 Subject: Fix mistake on astc conversion, make some static methods that shouldn't be public private, remove old commmented out code --- Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs') diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs index 75f09faa..46c15dcc 100644 --- a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs +++ b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs @@ -40,7 +40,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL { if (Texture.Format >= GalTextureFormat.Astc2D4x4) { - ConvertAstcTextureToRgba(Texture); + Texture = ConvertAstcTextureToRgba(Texture); } const PixelInternalFormat InternalFmt = PixelInternalFormat.Rgba; @@ -70,14 +70,21 @@ namespace Ryujinx.Graphics.Gal.OpenGL GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleA, SwizzleA); } - private void ConvertAstcTextureToRgba(GalTexture Texture) + private GalTexture ConvertAstcTextureToRgba(GalTexture Texture) { + int TextureBlockWidth = GetAstcBlockWidth(Texture.Format); + int TextureBlockHeight = GetAstcBlockWidth(Texture.Format); + Texture.Data = ASTCDecoder.DecodeToRGBA8888( Texture.Data, - GetAstcBlockWidth(Texture.Format), - GetAstcBlockHeight(Texture.Format), 1, + TextureBlockWidth, + TextureBlockHeight, 1, Texture.Width, Texture.Height, 1); + + Texture.Format = GalTextureFormat.A8B8G8R8; + + return Texture; } private int GetAstcBlockWidth(GalTextureFormat Format) -- cgit v1.2.3