[GPU] Add support for the BC4/5 texture formats
This commit is contained in:
parent
f57fd95fd9
commit
7b2f471d4f
5 changed files with 20 additions and 4 deletions
|
@ -316,6 +316,8 @@ namespace Ryujinx.Core.OsHle.Services.Nv
|
|||
int Padding = Reader.ReadInt32();
|
||||
int Offset = Reader.ReadInt32();
|
||||
int Pages = Reader.ReadInt32();
|
||||
|
||||
System.Console.WriteLine("remap " + Offset.ToString("x8") + " " + Pages.ToString("x8"));
|
||||
}
|
||||
|
||||
//TODO
|
||||
|
|
|
@ -7,6 +7,8 @@ namespace Ryujinx.Graphics.Gal
|
|||
B5G6R5 = 0x15,
|
||||
BC1 = 0x24,
|
||||
BC2 = 0x25,
|
||||
BC3 = 0x26
|
||||
BC3 = 0x26,
|
||||
BC4 = 0x27,
|
||||
BC5 = 0x28
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,6 +74,8 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
case GalTextureFormat.BC1: return PixelInternalFormat.CompressedRgbaS3tcDxt1Ext;
|
||||
case GalTextureFormat.BC2: return PixelInternalFormat.CompressedRgbaS3tcDxt3Ext;
|
||||
case GalTextureFormat.BC3: return PixelInternalFormat.CompressedRgbaS3tcDxt5Ext;
|
||||
case GalTextureFormat.BC4: return PixelInternalFormat.CompressedRedRgtc1;
|
||||
case GalTextureFormat.BC5: return PixelInternalFormat.CompressedRgRgtc2;
|
||||
}
|
||||
|
||||
throw new NotImplementedException(Format.ToString());
|
||||
|
|
|
@ -85,9 +85,17 @@ namespace Ryujinx.Graphics.Gal.OpenGL
|
|||
|
||||
private static bool IsCompressedTextureFormat(GalTextureFormat Format)
|
||||
{
|
||||
return Format == GalTextureFormat.BC1 ||
|
||||
Format == GalTextureFormat.BC2 ||
|
||||
Format == GalTextureFormat.BC3;
|
||||
switch (Format)
|
||||
{
|
||||
case GalTextureFormat.BC1:
|
||||
case GalTextureFormat.BC2:
|
||||
case GalTextureFormat.BC3:
|
||||
case GalTextureFormat.BC4:
|
||||
case GalTextureFormat.BC5:
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private int EnsureTextureInitialized(int TexIndex)
|
||||
|
|
|
@ -16,6 +16,8 @@ namespace Ryujinx.Graphics.Gpu
|
|||
case GalTextureFormat.BC1: return Read8Bpt4x4 (Memory, Texture);
|
||||
case GalTextureFormat.BC2: return Read16Bpt4x4(Memory, Texture);
|
||||
case GalTextureFormat.BC3: return Read16Bpt4x4(Memory, Texture);
|
||||
case GalTextureFormat.BC4: return Read8Bpt4x4 (Memory, Texture);
|
||||
case GalTextureFormat.BC5: return Read16Bpt4x4(Memory, Texture);
|
||||
}
|
||||
|
||||
throw new NotImplementedException(Texture.Format.ToString());
|
||||
|
|
Loading…
Reference in a new issue