diff options
Diffstat (limited to 'Ryujinx.Common')
-rw-r--r-- | Ryujinx.Common/Configuration/GraphicsBackend.cs | 8 | ||||
-rw-r--r-- | Ryujinx.Common/Memory/StructArrayHelpers.cs | 11 | ||||
-rw-r--r-- | Ryujinx.Common/System/ForceDpiAware.cs | 9 |
3 files changed, 27 insertions, 1 deletions
diff --git a/Ryujinx.Common/Configuration/GraphicsBackend.cs b/Ryujinx.Common/Configuration/GraphicsBackend.cs new file mode 100644 index 00000000..26e4a28a --- /dev/null +++ b/Ryujinx.Common/Configuration/GraphicsBackend.cs @@ -0,0 +1,8 @@ +namespace Ryujinx.Common.Configuration +{ + public enum GraphicsBackend + { + Vulkan, + OpenGl + } +} diff --git a/Ryujinx.Common/Memory/StructArrayHelpers.cs b/Ryujinx.Common/Memory/StructArrayHelpers.cs index fbb2902d..bba05c10 100644 --- a/Ryujinx.Common/Memory/StructArrayHelpers.cs +++ b/Ryujinx.Common/Memory/StructArrayHelpers.cs @@ -640,4 +640,15 @@ namespace Ryujinx.Common.Memory public ref T this[int index] => ref ToSpan()[index]; public Span<T> ToSpan() => MemoryMarshal.CreateSpan(ref _e0, 64); } + public struct Array73<T> : IArray<T> where T : unmanaged + { +#pragma warning disable CS0169 + T _e0; + Array64<T> _other; + Array8<T> _other2; +#pragma warning restore CS0169 + public int Length => 73; + public ref T this[int index] => ref ToSpan()[index]; + public Span<T> ToSpan() => MemoryMarshal.CreateSpan(ref _e0, 73); + } } diff --git a/Ryujinx.Common/System/ForceDpiAware.cs b/Ryujinx.Common/System/ForceDpiAware.cs index f29630a6..f1aa3e8e 100644 --- a/Ryujinx.Common/System/ForceDpiAware.cs +++ b/Ryujinx.Common/System/ForceDpiAware.cs @@ -44,7 +44,7 @@ namespace Ryujinx.Common.System } } - public static double GetWindowScaleFactor() + public static double GetActualScaleFactor() { double userDpiScale = 96.0; @@ -84,6 +84,13 @@ namespace Ryujinx.Common.System Logger.Warning?.Print(LogClass.Application, $"Couldn't determine monitor DPI: {e.Message}"); } + return userDpiScale; + } + + public static double GetWindowScaleFactor() + { + double userDpiScale = GetActualScaleFactor(); + return Math.Min(userDpiScale / _standardDpiScale, _maxScaleFactor); } } |