diff options
author | Mary-nyan <mary@mary.zone> | 2022-11-24 20:13:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-24 20:13:16 +0100 |
commit | 548bfd60a2468aa6258675efae5ed21102985cc6 (patch) | |
tree | ddd0271286d5d338ca204499b6d0d4ae73e4bd3c | |
parent | 65778a6b78ab8bde4090478482227e40c551db4d (diff) |
chore: Update Ryujinx.SDL2-CS to 2.24.2 (#3892)1.1.383
* chore: Update Ryujinx.SDL2-CS to 2.24.2
* Disable SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS
-rw-r--r-- | Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs | 8 | ||||
-rw-r--r-- | Ryujinx.SDL2.Common/Ryujinx.SDL2.Common.csproj | 2 | ||||
-rw-r--r-- | Ryujinx.SDL2.Common/SDL2Driver.cs | 7 |
3 files changed, 10 insertions, 7 deletions
diff --git a/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs b/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs index 0fcf517b..6eacadc1 100644 --- a/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs +++ b/Ryujinx.Headless.SDL2/Vulkan/VulkanWindow.cs @@ -40,20 +40,16 @@ namespace Ryujinx.Headless.SDL2.Vulkan return (IntPtr)surfaceHandle; } - // TODO: Fix this in SDL2-CS. - [DllImport("SDL2", EntryPoint = "SDL_Vulkan_GetInstanceExtensions", CallingConvention = CallingConvention.Cdecl)] - public static extern SDL_bool SDL_Vulkan_GetInstanceExtensions_Workaround(IntPtr window, out uint count, IntPtr names); - public unsafe string[] GetRequiredInstanceExtensions() { - if (SDL_Vulkan_GetInstanceExtensions_Workaround(WindowHandle, out uint extensionsCount, IntPtr.Zero) == SDL_bool.SDL_TRUE) + if (SDL_Vulkan_GetInstanceExtensions(WindowHandle, out uint extensionsCount, IntPtr.Zero) == SDL_bool.SDL_TRUE) { IntPtr[] rawExtensions = new IntPtr[(int)extensionsCount]; string[] extensions = new string[(int)extensionsCount]; fixed (IntPtr* rawExtensionsPtr = rawExtensions) { - if (SDL_Vulkan_GetInstanceExtensions_Workaround(WindowHandle, out extensionsCount, (IntPtr)rawExtensionsPtr) == SDL_bool.SDL_TRUE) + if (SDL_Vulkan_GetInstanceExtensions(WindowHandle, out extensionsCount, (IntPtr)rawExtensionsPtr) == SDL_bool.SDL_TRUE) { for (int i = 0; i < extensions.Length; i++) { diff --git a/Ryujinx.SDL2.Common/Ryujinx.SDL2.Common.csproj b/Ryujinx.SDL2.Common/Ryujinx.SDL2.Common.csproj index 51b3b374..96bebac0 100644 --- a/Ryujinx.SDL2.Common/Ryujinx.SDL2.Common.csproj +++ b/Ryujinx.SDL2.Common/Ryujinx.SDL2.Common.csproj @@ -5,7 +5,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Ryujinx.SDL2-CS" Version="2.0.22-build20" /> + <PackageReference Include="Ryujinx.SDL2-CS" Version="2.24.2-build21" /> </ItemGroup> <ItemGroup> diff --git a/Ryujinx.SDL2.Common/SDL2Driver.cs b/Ryujinx.SDL2.Common/SDL2Driver.cs index fbf2b64a..4a30523c 100644 --- a/Ryujinx.SDL2.Common/SDL2Driver.cs +++ b/Ryujinx.SDL2.Common/SDL2Driver.cs @@ -43,6 +43,8 @@ namespace Ryujinx.SDL2.Common private SDL2Driver() {} + private const string SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS = "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"; + public void Initialize() { lock (_lock) @@ -60,6 +62,11 @@ namespace Ryujinx.SDL2.Common SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED, "0"); SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS, "1"); + + // NOTE: As of SDL2 2.24.0, joycons are combined by default but the motion source only come from one of them. + // We disable this behavior for now. + SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS, "0"); + if (SDL_Init(SdlInitFlags) != 0) { string errorMessage = $"SDL2 initlaization failed with error \"{SDL_GetError()}\""; |