Start Metal Backend

Revert build yml changes
This commit is contained in:
Isaac Marovitz
2024-08-31 22:42:56 +02:00
committed by Isaac Marovitz
parent 5dbba07e33
commit ebaf1d8258
24 changed files with 2576 additions and 2 deletions

View File

@@ -0,0 +1,25 @@
using SPB.Windowing;
using SPB.Platform.Metal;
using System;
namespace Ryujinx.UI.Renderer
{
public class EmbeddedWindowMetal : EmbeddedWindow
{
public SimpleMetalWindow CreateSurface()
{
SimpleMetalWindow simpleMetalWindow;
if (OperatingSystem.IsMacOS())
{
simpleMetalWindow = new SimpleMetalWindow(new NativeHandle(NsView), new NativeHandle(MetalLayer));
}
else
{
throw new PlatformNotSupportedException();
}
return simpleMetalWindow;
}
}
}

View File

@@ -111,6 +111,8 @@ namespace Ryujinx.Ava.UI.ViewModels
}
}
public bool IsMetalAvailable => OperatingSystem.IsMacOS();
public bool IsOpenGLAvailable => !OperatingSystem.IsMacOS();
public bool IsHypervisorAvailable => OperatingSystem.IsMacOS() && RuntimeInformation.ProcessArchitecture == Architecture.Arm64;

View File

@@ -43,6 +43,9 @@
<ComboBoxItem IsEnabled="{Binding IsOpenGLAvailable}">
<TextBlock Text="OpenGL" />
</ComboBoxItem>
<ComboBoxItem IsVisible="{Binding IsMetalAvailable}">
<TextBlock Text="Metal" />
</ComboBoxItem>
</ComboBox>
</StackPanel>
<StackPanel Orientation="Horizontal" IsVisible="{Binding IsVulkanSelected}">