forked from MeloNX/MeloNX
Add IOS Memory Patches
This commit is contained in:
parent
b1fdf23fe6
commit
4d988e95f0
@ -7,7 +7,7 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
25BFA0892CF956FD0085F3E4 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E80AA622CD7122800029585 /* GameController.framework */; };
|
4E6715ED2CFEEB6D00425F0C /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E80AA622CD7122800029585 /* GameController.framework */; };
|
||||||
4E80AA212CD705DD00029585 /* SDL in Frameworks */ = {isa = PBXBuildFile; productRef = 4E80AA202CD705DD00029585 /* SDL */; };
|
4E80AA212CD705DD00029585 /* SDL in Frameworks */ = {isa = PBXBuildFile; productRef = 4E80AA202CD705DD00029585 /* SDL */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
@ -58,11 +58,51 @@
|
|||||||
};
|
};
|
||||||
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
||||||
|
|
||||||
|
/* Begin PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
|
||||||
|
4E6715F12CFEEB6E00425F0C /* Exceptions for "MeloNX" folder in "Embed Libraries" phase from "MeloNX" target */ = {
|
||||||
|
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
|
||||||
|
attributesByRelativePath = {
|
||||||
|
"Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib" = (CodeSignOnCopy, );
|
||||||
|
"Dependencies/Dynamic Libraries/libMoltenVK.dylib" = (CodeSignOnCopy, );
|
||||||
|
"Dependencies/Dynamic Libraries/libavcodec.dylib" = (CodeSignOnCopy, );
|
||||||
|
"Dependencies/Dynamic Libraries/libavutil.dylib" = (CodeSignOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/MoltenVK.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/SDL2.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libSPIRV.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libavcodec.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libavfilter.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libavformat.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libavutil.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libswresample.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libswscale.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
Dependencies/XCFrameworks/libteakra.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
|
||||||
|
};
|
||||||
|
buildPhase = 4E80AA092CD6FAA800029585 /* Embed Libraries */;
|
||||||
|
membershipExceptions = (
|
||||||
|
"Dependencies/Dynamic Libraries/libavcodec.dylib",
|
||||||
|
"Dependencies/Dynamic Libraries/libavutil.dylib",
|
||||||
|
"Dependencies/Dynamic Libraries/libMoltenVK.dylib",
|
||||||
|
"Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib",
|
||||||
|
Dependencies/XCFrameworks/libavcodec.xcframework,
|
||||||
|
Dependencies/XCFrameworks/libavfilter.xcframework,
|
||||||
|
Dependencies/XCFrameworks/libavformat.xcframework,
|
||||||
|
Dependencies/XCFrameworks/libavutil.xcframework,
|
||||||
|
Dependencies/XCFrameworks/libSPIRV.xcframework,
|
||||||
|
Dependencies/XCFrameworks/libswresample.xcframework,
|
||||||
|
Dependencies/XCFrameworks/libswscale.xcframework,
|
||||||
|
Dependencies/XCFrameworks/libteakra.xcframework,
|
||||||
|
Dependencies/XCFrameworks/MoltenVK.xcframework,
|
||||||
|
Dependencies/XCFrameworks/SDL2.xcframework,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
|
||||||
|
|
||||||
/* Begin PBXFileSystemSynchronizedRootGroup section */
|
/* Begin PBXFileSystemSynchronizedRootGroup section */
|
||||||
4E80A98F2CD6F54500029585 /* MeloNX */ = {
|
4E80A98F2CD6F54500029585 /* MeloNX */ = {
|
||||||
isa = PBXFileSystemSynchronizedRootGroup;
|
isa = PBXFileSystemSynchronizedRootGroup;
|
||||||
exceptions = (
|
exceptions = (
|
||||||
4E80AA1D2CD7015100029585 /* Exceptions for "MeloNX" folder in "MeloNX" target */,
|
4E80AA1D2CD7015100029585 /* Exceptions for "MeloNX" folder in "MeloNX" target */,
|
||||||
|
4E6715F12CFEEB6E00425F0C /* Exceptions for "MeloNX" folder in "Embed Libraries" phase from "MeloNX" target */,
|
||||||
);
|
);
|
||||||
path = MeloNX;
|
path = MeloNX;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -84,8 +124,8 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
4E6715ED2CFEEB6D00425F0C /* GameController.framework in Frameworks */,
|
||||||
4E80AA212CD705DD00029585 /* SDL in Frameworks */,
|
4E80AA212CD705DD00029585 /* SDL in Frameworks */,
|
||||||
25BFA0892CF956FD0085F3E4 /* GameController.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -534,6 +574,10 @@
|
|||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||||
@ -644,6 +688,10 @@
|
|||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
|
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0;
|
MARKETING_VERSION = 1.0;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX;
|
||||||
|
@ -63,6 +63,12 @@ namespace Ryujinx.Memory
|
|||||||
throw new SystemException(Marshal.GetLastPInvokeErrorMessage());
|
throw new SystemException(Marshal.GetLastPInvokeErrorMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (OperatingSystem.IsIOS() && forJit)
|
||||||
|
{
|
||||||
|
MachJitWorkaround.ReallocateAreaWithOwnership(ptr, (int)size);
|
||||||
|
}
|
||||||
|
|
||||||
if (!_allocations.TryAdd(ptr, size))
|
if (!_allocations.TryAdd(ptr, size))
|
||||||
{
|
{
|
||||||
// This should be impossible, kernel shouldn't return an already mapped address.
|
// This should be impossible, kernel shouldn't return an already mapped address.
|
||||||
@ -76,7 +82,7 @@ namespace Ryujinx.Memory
|
|||||||
{
|
{
|
||||||
MmapProts prot = MmapProts.PROT_READ | MmapProts.PROT_WRITE;
|
MmapProts prot = MmapProts.PROT_READ | MmapProts.PROT_WRITE;
|
||||||
|
|
||||||
if (OperatingSystem.IsMacOSVersionAtLeast(10, 14) && forJit)
|
if (OperatingSystem.IsMacOSVersionAtLeast(10, 14) || OperatingSystem.IsIOS() && forJit)
|
||||||
{
|
{
|
||||||
prot |= MmapProts.PROT_EXEC;
|
prot |= MmapProts.PROT_EXEC;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user