some initial metal commits cherry-picked

This commit is contained in:
Evan Husted
2024-12-23 20:35:49 -06:00
parent 278fe9d4f0
commit cbad43b003
27 changed files with 2821 additions and 1 deletions

View File

@@ -0,0 +1,55 @@
using Ryujinx.Graphics.GAL;
using System;
using System.Runtime.Versioning;
namespace Ryujinx.Graphics.Metal
{
[SupportedOSPlatform("macos")]
public class Window : IWindow, IDisposable
{
private readonly MetalRenderer _renderer;
public Window(MetalRenderer renderer)
{
_renderer = renderer;
}
public void Present(ITexture texture, ImageCrop crop, Action swapBuffersCallback)
{
if (_renderer.Pipeline is Pipeline pipeline)
{
pipeline.Present();
}
}
public void SetSize(int width, int height)
{
// Not needed as we can get the size from the surface.
}
public void ChangeVSyncMode(bool vsyncEnabled)
{
throw new NotImplementedException();
}
public void SetAntiAliasing(AntiAliasing antialiasing)
{
throw new NotImplementedException();
}
public void SetScalingFilter(ScalingFilter type)
{
throw new NotImplementedException();
}
public void SetScalingFilterLevel(float level)
{
throw new NotImplementedException();
}
public void Dispose()
{
}
}
}