diff --git a/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate b/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate index b27d29355..7df9bfab6 100644 Binary files a/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate and b/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/src/MeloNX/MeloNX/MeloNXApp.swift b/src/MeloNX/MeloNX/MeloNXApp.swift index f44c773fb..d60a27413 100644 --- a/src/MeloNX/MeloNX/MeloNXApp.swift +++ b/src/MeloNX/MeloNX/MeloNXApp.swift @@ -11,7 +11,7 @@ import UIKit @main struct MeloNXApp: App { - @AppStorage("showeddrmcheck") var showed = false + @AppStorage("showeddrmcheck") var showed = true init() { DispatchQueue.main.async { [self] in @@ -21,7 +21,7 @@ struct MeloNXApp: App { if bool { print("Yippee") } else { - exit(0) + // exit(0) } } } else { diff --git a/src/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs b/src/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs index a7debb55f..f6120c9dc 100644 --- a/src/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs +++ b/src/Ryujinx.Graphics.Vulkan/HardwareCapabilities.cs @@ -105,8 +105,8 @@ namespace Ryujinx.Graphics.Vulkan SupportsConditionalRendering = supportsConditionalRendering; SupportsExtendedDynamicState = (OperatingSystem.IsIOS() ? OperatingSystem.IsIOSVersionAtLeast(17) ? supportsExtendedDynamicState : false : supportsExtendedDynamicState); SupportsMultiView = supportsMultiView; - SupportsNullDescriptors = (OperatingSystem.IsIOS() ? false : supportsNullDescriptors); - SupportsPushDescriptors = (OperatingSystem.IsIOS() ? false : supportsNullDescriptors); + SupportsNullDescriptors = supportsNullDescriptors; + SupportsPushDescriptors = supportsPushDescriptors; SupportsPrimitiveTopologyListRestart = supportsPrimitiveTopologyListRestart; SupportsPrimitiveTopologyPatchListRestart = supportsPrimitiveTopologyPatchListRestart; SupportsTransformFeedback = supportsTransformFeedback; diff --git a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs index 3a2b104ce..6e024469c 100644 --- a/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs +++ b/src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs @@ -301,6 +301,10 @@ namespace Ryujinx.Graphics.Vulkan properties.Limits.FramebufferDepthSampleCounts & properties.Limits.FramebufferStencilSampleCounts; + bool isDynamicStateSupported = OperatingSystem.IsIOS() + ? OperatingSystem.IsIOSVersionAtLeast(17) && _physicalDevice.IsDeviceExtensionPresent(ExtExtendedDynamicState.ExtensionName) + : _physicalDevice.IsDeviceExtensionPresent(ExtExtendedDynamicState.ExtensionName); + Capabilities = new HardwareCapabilities( _physicalDevice.IsDeviceExtensionPresent("VK_EXT_index_type_uint8"), supportsCustomBorderColor, @@ -316,7 +320,7 @@ namespace Ryujinx.Graphics.Vulkan _physicalDevice.IsDeviceExtensionPresent("VK_EXT_shader_stencil_export"), features2.Features.ShaderStorageImageMultisample, _physicalDevice.IsDeviceExtensionPresent(ExtConditionalRendering.ExtensionName), - _physicalDevice.IsDeviceExtensionPresent(ExtExtendedDynamicState.ExtensionName), + isDynamicStateSupported, features2.Features.MultiViewport && !(IsMoltenVk && Vendor == Vendor.Amd), // Workaround for AMD on MoltenVK issue featuresRobustness2.NullDescriptor || !IsMoltenVk, _physicalDevice.IsDeviceExtensionPresent(KhrPushDescriptor.ExtensionName), diff --git a/src/Ryujinx.Headless.SDL2/Program.cs b/src/Ryujinx.Headless.SDL2/Program.cs index e5566315e..5b583da7a 100644 --- a/src/Ryujinx.Headless.SDL2/Program.cs +++ b/src/Ryujinx.Headless.SDL2/Program.cs @@ -1411,14 +1411,18 @@ public unsafe struct GameInfoNative if (imageData == null || imageData.Length > 4096 * 4096) { - throw new ArgumentException("Image data must not exceed 4 MB."); + // throw new ArgumentException("Image data must not exceed 4 MB."); + ImageSize = (uint)0; + ImageData = null; } - - ImageSize = (uint)imageData.Length; + else + { + ImageSize = (uint)imageData.Length; - ImageData = (byte*)Marshal.AllocHGlobal(imageData.Length); + ImageData = (byte*)Marshal.AllocHGlobal(imageData.Length); - Marshal.Copy(imageData, 0, (IntPtr)ImageData, imageData.Length); + Marshal.Copy(imageData, 0, (IntPtr)ImageData, imageData.Length); + } } // Don't forget to free the allocated memory