WIP V2: Experimental: Metal backend #441

Merged
GreemDev merged 369 commits from new-metal into master 2024-12-24 06:55:16 +00:00
2 changed files with 14 additions and 2 deletions
Showing only changes of commit 179482e9cb - Show all commits

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)