From e5ad1dfa48590685fd93443a2adfd8568f6c1db0 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Mon, 14 Mar 2022 23:42:08 -0300 Subject: Implement S8D24 texture format and tweak depth range detection (#2458) --- Ryujinx.Graphics.Gpu/Image/FormatTable.cs | 1 + Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs | 2 +- Ryujinx.Graphics.Gpu/Image/TexturePool.cs | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) (limited to 'Ryujinx.Graphics.Gpu/Image') diff --git a/Ryujinx.Graphics.Gpu/Image/FormatTable.cs b/Ryujinx.Graphics.Gpu/Image/FormatTable.cs index 3c97e2e2..e5a4badc 100644 --- a/Ryujinx.Graphics.Gpu/Image/FormatTable.cs +++ b/Ryujinx.Graphics.Gpu/Image/FormatTable.cs @@ -55,6 +55,7 @@ namespace Ryujinx.Graphics.Gpu.Image { 0x24a0e, new FormatInfo(Format.D24UnormS8Uint, 1, 1, 4, 2) }, { 0x24a29, new FormatInfo(Format.D24UnormS8Uint, 1, 1, 4, 2) }, { 0x48a29, new FormatInfo(Format.D24UnormS8Uint, 1, 1, 4, 2) }, + { 0x4912b, new FormatInfo(Format.S8UintD24Unorm, 1, 1, 4, 2) }, { 0x25385, new FormatInfo(Format.D32FloatS8Uint, 1, 1, 8, 2) }, { 0x253b0, new FormatInfo(Format.D32FloatS8Uint, 1, 1, 8, 2) }, { 0xa4908, new FormatInfo(Format.R8G8B8A8Srgb, 1, 1, 4, 4) }, diff --git a/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs b/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs index 188e1e09..b798441f 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs @@ -203,7 +203,7 @@ namespace Ryujinx.Graphics.Gpu.Image } if ((lhs.FormatInfo.Format == Format.D24UnormS8Uint || - lhs.FormatInfo.Format == Format.D24X8Unorm) && rhs.FormatInfo.Format == Format.B8G8R8A8Unorm) + lhs.FormatInfo.Format == Format.S8UintD24Unorm) && rhs.FormatInfo.Format == Format.B8G8R8A8Unorm) { return TextureMatchQuality.FormatAlias; } diff --git a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs b/Ryujinx.Graphics.Gpu/Image/TexturePool.cs index f936615f..10a6ff82 100644 --- a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs +++ b/Ryujinx.Graphics.Gpu/Image/TexturePool.cs @@ -362,7 +362,7 @@ namespace Ryujinx.Graphics.Gpu.Image return DepthStencilMode.Depth; } - if (format == Format.D24X8Unorm || format == Format.D24UnormS8Uint) + if (format == Format.D24UnormS8Uint) { return component == SwizzleComponent.Red ? DepthStencilMode.Stencil -- cgit v1.2.3