GPU: Allow depth textures to be loaded (#511)

Allow depth textures to be loaded when their component types do not match.
This commit is contained in:
jduncanator 2018-11-21 17:27:33 +11:00 committed by gdkchan
parent ea35b3d1b0
commit 76e2d48eee

View file

@ -147,16 +147,16 @@ namespace Ryujinx.Graphics.Texture
GalTextureType AType, GalTextureType AType,
bool ConvSrgb) bool ConvSrgb)
{ {
if (RType != GType || RType != BType || RType != AType)
{
throw new NotImplementedException("Per component types are not implemented!");
}
if (!s_TextureTable.TryGetValue(Format, out GalImageFormat ImageFormat)) if (!s_TextureTable.TryGetValue(Format, out GalImageFormat ImageFormat))
{ {
throw new NotImplementedException($"Format 0x{((int)Format):x} not implemented!"); throw new NotImplementedException($"Format 0x{((int)Format):x} not implemented!");
} }
if (!HasDepth(ImageFormat) && (RType != GType || RType != BType || RType != AType))
{
throw new NotImplementedException($"Per component types are not implemented!");
}
GalImageFormat FormatType = ConvSrgb ? Srgb : GetFormatType(RType); GalImageFormat FormatType = ConvSrgb ? Srgb : GetFormatType(RType);
GalImageFormat CombinedFormat = (ImageFormat & GalImageFormat.FormatMask) | FormatType; GalImageFormat CombinedFormat = (ImageFormat & GalImageFormat.FormatMask) | FormatType;