aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Ryujinx.Graphics/Gal/GalTextureFormat.cs2
-rw-r--r--Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs16
-rw-r--r--Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs4
-rw-r--r--Ryujinx.HLE/Gpu/Texture/TextureHelper.cs2
-rw-r--r--Ryujinx.HLE/Gpu/Texture/TextureReader.cs2
5 files changed, 18 insertions, 8 deletions
diff --git a/Ryujinx.Graphics/Gal/GalTextureFormat.cs b/Ryujinx.Graphics/Gal/GalTextureFormat.cs
index 231d33ec..30f5c229 100644
--- a/Ryujinx.Graphics/Gal/GalTextureFormat.cs
+++ b/Ryujinx.Graphics/Gal/GalTextureFormat.cs
@@ -6,6 +6,8 @@ namespace Ryujinx.Graphics.Gal
R16G16B16A16 = 0x3,
A8B8G8R8 = 0x8,
R32 = 0xf,
+ BC6H_SF16 = 0x10,
+ BC6H_UF16 = 0x11,
A1B5G5R5 = 0x14,
B5G6R5 = 0x15,
BC7U = 0x17,
diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs
index 8f189d2b..5d20c931 100644
--- a/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs
+++ b/Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs
@@ -148,12 +148,14 @@ namespace Ryujinx.Graphics.Gal.OpenGL
{
switch (Format)
{
- case GalTextureFormat.BC7U: return InternalFormat.CompressedRgbaBptcUnorm;
- case GalTextureFormat.BC1: return InternalFormat.CompressedRgbaS3tcDxt1Ext;
- case GalTextureFormat.BC2: return InternalFormat.CompressedRgbaS3tcDxt3Ext;
- case GalTextureFormat.BC3: return InternalFormat.CompressedRgbaS3tcDxt5Ext;
- case GalTextureFormat.BC4: return InternalFormat.CompressedRedRgtc1;
- case GalTextureFormat.BC5: return InternalFormat.CompressedRgRgtc2;
+ case GalTextureFormat.BC6H_UF16: return InternalFormat.CompressedRgbBptcUnsignedFloat;
+ case GalTextureFormat.BC6H_SF16: return InternalFormat.CompressedRgbBptcSignedFloat;
+ case GalTextureFormat.BC7U: return InternalFormat.CompressedRgbaBptcUnorm;
+ case GalTextureFormat.BC1: return InternalFormat.CompressedRgbaS3tcDxt1Ext;
+ case GalTextureFormat.BC2: return InternalFormat.CompressedRgbaS3tcDxt3Ext;
+ case GalTextureFormat.BC3: return InternalFormat.CompressedRgbaS3tcDxt5Ext;
+ case GalTextureFormat.BC4: return InternalFormat.CompressedRedRgtc1;
+ case GalTextureFormat.BC5: return InternalFormat.CompressedRgRgtc2;
}
throw new NotImplementedException(Format.ToString());
@@ -264,4 +266,4 @@ namespace Ryujinx.Graphics.Gal.OpenGL
throw new ArgumentException(nameof(BlendFactor));
}
}
-} \ No newline at end of file
+}
diff --git a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs
index 5caca6ec..ac30e6fd 100644
--- a/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs
+++ b/Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs
@@ -212,6 +212,8 @@ namespace Ryujinx.Graphics.Gal.OpenGL
{
switch (Format)
{
+ case GalTextureFormat.BC6H_UF16:
+ case GalTextureFormat.BC6H_SF16:
case GalTextureFormat.BC7U:
case GalTextureFormat.BC1:
case GalTextureFormat.BC2:
@@ -224,4 +226,4 @@ namespace Ryujinx.Graphics.Gal.OpenGL
return false;
}
}
-} \ No newline at end of file
+}
diff --git a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
index c0749d6a..dbbc87d4 100644
--- a/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
+++ b/Ryujinx.HLE/Gpu/Texture/TextureHelper.cs
@@ -54,6 +54,8 @@ namespace Ryujinx.HLE.Gpu.Texture
return CompressedTextureSize(Texture.Width, Texture.Height, 4, 4, 8);
}
+ case GalTextureFormat.BC6H_SF16:
+ case GalTextureFormat.BC6H_UF16:
case GalTextureFormat.BC7U:
case GalTextureFormat.BC2:
case GalTextureFormat.BC3:
diff --git a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
index 6c08cd6c..1d8c8056 100644
--- a/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
+++ b/Ryujinx.HLE/Gpu/Texture/TextureReader.cs
@@ -19,6 +19,8 @@ namespace Ryujinx.HLE.Gpu.Texture
case GalTextureFormat.G8R8: return Read2Bpp (Memory, Texture);
case GalTextureFormat.R16: return Read2Bpp (Memory, Texture);
case GalTextureFormat.R8: return Read1Bpp (Memory, Texture);
+ case GalTextureFormat.BC6H_SF16: return Read16BptCompressedTexture(Memory, Texture, 4, 4);
+ case GalTextureFormat.BC6H_UF16: return Read16BptCompressedTexture(Memory, Texture, 4, 4);
case GalTextureFormat.BC7U: return Read16BptCompressedTexture(Memory, Texture, 4, 4);
case GalTextureFormat.BC1: return Read8Bpt4x4 (Memory, Texture);
case GalTextureFormat.BC2: return Read16BptCompressedTexture(Memory, Texture, 4, 4);