project: enable DirectX acceleration on iOS - #7809
Merged
Merged
Conversation
We can selectively support DXMT on macOS 13, iOS 16 and so we can revert the minver bump.
Otherwise the checks won't kick in on a jailbroken device.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enables the DXMT DirectX-to-Metal backend on iOS, which was previously macOS
only.
fit in the guest physical address space, leaving nowhere to place a 64-bit BAR
too large for the 32-bit window. On a host with a small IPA space (36-bit) that
made
hostmem=8Gunusable, which is why iOS was stuck on a 256M fallback. Thewindow now shrinks to the largest power of two that fits (down to 1G) and warns
instead of vanishing, so iOS can use the same
hostmem=8Gas macOS.dxmt-native.frameworkis embedded in the iOS and UTM SE targets. The DirectXbackends are loaded at runtime rather than linked, so they moved to embed-only
and an older device never touches them. A small LLVM 15 patch is included
because its CMake gates Mach-O linker behavior on
CMAKE_SYSTEM_NAME MATCHES "Darwin", which is false when cross-compiling for iOS.original DXMT work. DXMT needs iOS 16 / macOS 13, but that is now handled with
@availablechecks at the few places that load it, so UTM keeps supportingiOS 14 and macOS 11.3.
Testing: Tested by a human on iOS 16.3.1 and macOS 15.6. The author
acknowledges that this change has been tested and/or reviewed by a human in
accordance with UTM's AI contribution guidelines.