Check if packed depth is supported

This commit is contained in:
Isaac Marovitz 2023-08-02 21:32:41 -04:00 committed by Isaac Marovitz
parent 541cdfebb7
commit ce5f5a6442
2 changed files with 14 additions and 2 deletions

View file

@ -1,9 +1,11 @@
using Ryujinx.Graphics.GAL;
using SharpMetal.Metal;
using System;
using System.Runtime.Versioning;
namespace Ryujinx.Graphics.Metal
{
[SupportedOSPlatform("macos")]
static class FormatTable
{
private static readonly MTLPixelFormat[] _table;
@ -167,7 +169,17 @@ namespace Ryujinx.Graphics.Metal
public static MTLPixelFormat GetFormat(Format format)
{
return _table[(int)format];
var mtlFormat = _table[(int)format];
if (mtlFormat == MTLPixelFormat.Depth24UnormStencil8 || mtlFormat == MTLPixelFormat.Depth32FloatStencil8)
{
if (!MTLDevice.CreateSystemDefaultDevice().Depth24Stencil8PixelFormatSupported)
{
mtlFormat = MTLPixelFormat.Depth32Float;
}
}
return mtlFormat;
}
}
}

View file

@ -107,7 +107,7 @@ namespace Ryujinx.Graphics.Metal
public void CopyTo(ITexture destination, Extents2D srcRegion, Extents2D dstRegion, bool linearFilter)
{
throw new NotImplementedException();
Logger.Warning?.Print(LogClass.Gpu, "Not Implemented!");
}
public void CopyTo(BufferRange range, int layer, int level, int stride)