mirror of
https://github.com/GreemDev/Ryujinx.git
synced 2025-01-26 03:03:01 -03:00
misc: chore: OS + CPU arch helpers
This commit is contained in:
parent
33079422fe
commit
7829fd8ee7
3 changed files with 26 additions and 4 deletions
23
src/Ryujinx.Common/Helpers/RunningPlatform.cs
Normal file
23
src/Ryujinx.Common/Helpers/RunningPlatform.cs
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
using System;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
// ReSharper disable MemberCanBePrivate.Global
|
||||||
|
// ReSharper disable InconsistentNaming
|
||||||
|
|
||||||
|
namespace Ryujinx.Common.Helper
|
||||||
|
{
|
||||||
|
public static class RunningPlatform
|
||||||
|
{
|
||||||
|
public static bool IsMacOS => OperatingSystem.IsMacOS();
|
||||||
|
public static bool IsWindows => OperatingSystem.IsWindows();
|
||||||
|
public static bool IsLinux => OperatingSystem.IsLinux();
|
||||||
|
|
||||||
|
public static bool IsIntelMac => IsMacOS && RuntimeInformation.OSArchitecture is Architecture.X64;
|
||||||
|
public static bool IsArmMac => IsMacOS && RuntimeInformation.OSArchitecture is Architecture.Arm64;
|
||||||
|
|
||||||
|
public static bool IsX64Windows => IsWindows && (RuntimeInformation.OSArchitecture is Architecture.X64);
|
||||||
|
public static bool IsArmWindows => IsWindows && (RuntimeInformation.OSArchitecture is Architecture.Arm64);
|
||||||
|
|
||||||
|
public static bool IsX64Linux => IsLinux && (RuntimeInformation.OSArchitecture is Architecture.X64);
|
||||||
|
public static bool IsArmLinux => IsLinux && (RuntimeInformation.OSArchitecture is Architecture.Arm64);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
using Gommon;
|
using Gommon;
|
||||||
using Ryujinx.Common.Configuration;
|
using Ryujinx.Common.Configuration;
|
||||||
|
using Ryujinx.Common.Helper;
|
||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
@ -21,7 +22,7 @@ namespace Ryujinx.Common
|
||||||
return currentBackend;
|
return currentBackend;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(OperatingSystem.IsMacOS() && RuntimeInformation.ProcessArchitecture is Architecture.Arm64))
|
if (!RunningPlatform.IsArmMac)
|
||||||
return GraphicsBackend.Vulkan;
|
return GraphicsBackend.Vulkan;
|
||||||
|
|
||||||
return GreatMetalTitles.ContainsIgnoreCase(titleId) ? GraphicsBackend.Metal : GraphicsBackend.Vulkan;
|
return GreatMetalTitles.ContainsIgnoreCase(titleId) ? GraphicsBackend.Metal : GraphicsBackend.Vulkan;
|
||||||
|
|
|
@ -736,9 +736,7 @@ namespace Ryujinx.Ava.UI.Windows
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool _intelMacWarningShown = !(OperatingSystem.IsMacOS() &&
|
private static bool _intelMacWarningShown = !RunningPlatform.IsIntelMac;
|
||||||
(RuntimeInformation.OSArchitecture == Architecture.X64 ||
|
|
||||||
RuntimeInformation.OSArchitecture == Architecture.X86));
|
|
||||||
|
|
||||||
public static async Task ShowIntelMacWarningAsync()
|
public static async Task ShowIntelMacWarningAsync()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue