ソースを参照

Fixup image error message and add G8R8 to size query (#410)

ReinUsesLisp 7 年 前
コミット
e5917f8968

+ 2 - 2
Ryujinx.Graphics/Gal/OpenGL/OGLEnumConverter.cs

@@ -176,7 +176,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
                 case GalImageFormat.D32_S8 | GalImageFormat.Uint:   return (PixelInternalFormat.Depth32fStencil8,  PixelFormat.DepthStencil,   PixelType.Float32UnsignedInt248Rev);
             }
 
-            throw new NotImplementedException(Format.ToString());
+            throw new NotImplementedException($"{Format & GalImageFormat.FormatMask} {Format & GalImageFormat.TypeMask}");
         }
 
         public static InternalFormat GetCompressedImageFormat(GalImageFormat Format)
@@ -195,7 +195,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
                 case GalImageFormat.BC5       | GalImageFormat.Unorm: return InternalFormat.CompressedRgRgtc2;
             }
 
-            throw new NotImplementedException(Format.ToString());
+            throw new NotImplementedException($"{Format & GalImageFormat.FormatMask} {Format & GalImageFormat.TypeMask}");
         }
 
         public static All GetTextureSwizzle(GalTextureSource Source)

+ 1 - 1
Ryujinx.Graphics/Gal/OpenGL/OGLTexture.cs

@@ -82,7 +82,7 @@ namespace Ryujinx.Graphics.Gal.OpenGL
                         Image.Height,
                         1);
 
-                    Image.Format = GalImageFormat.R8G8 | (Image.Format & GalImageFormat.FormatMask);
+                    Image.Format = GalImageFormat.R8G8 | (Image.Format & GalImageFormat.TypeMask);
                 }
 
                 (PixelInternalFormat InternalFormat, PixelFormat Format, PixelType Type) = OGLEnumConverter.GetImageFormat(Image.Format);

+ 1 - 0
Ryujinx.Graphics/Texture/ImageUtils.cs

@@ -235,6 +235,7 @@ namespace Ryujinx.Graphics.Texture
                 case GalImageFormat.A1R5G5B5:
                 case GalImageFormat.B5G6R5:
                 case GalImageFormat.R8G8:
+                case GalImageFormat.G8R8:
                 case GalImageFormat.R16:
                 case GalImageFormat.D16:
                     return Image.Width * Image.Height * 2;