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;
}
}
}