Repository navigation
Bring in intraducine's Playport PRs (willfaust/Madeira#480, #481, #482) - #21
Merged
insertfloppy merged 9 commits intoOct 30, 2026
Merged
Conversation
Signed-off-by: intraducine <265588704+intraducine@users.noreply.github.com>
Signed-off-by: intraducine <265588704+intraducine@users.noreply.github.com>
Signed-off-by: intraducine <265588704+intraducine@users.noreply.github.com>
…sts) into the build line [skip ci] project.pbxproj: the PR's Xcode re-serialized the whole file; only its GameBrowser.swift and GameBrowserKit package entries are added here.
…e) into the build line [skip ci] docs/playport-port.md: both PRs add this file; it keeps both sections.
…he build line [skip ci]
…ne's in-process shares [skip ci] The new DXMT pin (f50fdcc, willfaust#482) carries intraducine's 92004aa, which hands out in-process shared handles (0x40000000 | n) when a shared texture's mach port can't be registered, and for Unity's video textures. JesseLovelace's 0003 added its own process-local table in the same code and no longer applied, which would fail apply.sh and the build. 0003 now builds on intraducine's table instead of keeping a second one: - MadeiraSharedTextureLookup (exported, used by madeira-d3d12's OpenSharedHandle) resolves an in-process handle to its Metal texture and D3D11 description, for a 2D texture without dropped mips that is not renamable, as before. - A shared texture with no mach port is shared in-process too (it was Jesse's trigger), and the device-handle check moves after that path. Based on JesseLovelace's 24ae9b6. Co-Authored-By: JesseLovelace <JesseLovelace@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QwPPpxcZAtQCi7RDa6cqMf
…kip ci] build-ios.yml ships these as committed, so willfaust#482's FEX and DXMT pins reach games only through a rebuild (llvm-mingw 20260421, Linux): - arm64ec d3d11.dll: DXMT f50fdcc + dxmt-patches 0002-0003 (0001 is in the pin), madeira-d3d12 from this tree, the shipped dxmt_command.metallib. The same recipe on 05876bb reproduces build 48's d3d11.dll and dxgi.dll apart from the 4-byte timestamp. dxgi.dll comes out identical on the new pin, so it stays. Exports and imports match the shipped d3d11.dll (MadeiraSharedTextureLookup kept). - arm64ec xtajit64.dll: FEX 18d891e (the new pin, 6fb1b50 + the x87 64-bit integer fix) + 0004, build/fex-arm64ec/build.sh. The same on 6fb1b50 reproduces the shipped module apart from 22 timestamp bytes. - aarch64 xtajit.dll: FEX 35e8f36 + 0001-0004 + 18d891e's x87 fix (applies cleanly), build/fex-wow64/build.sh. 0003 still needs 35e8f36. The same without 18d891e reproduces the shipped module apart from the embedded commit id and timestamps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QwPPpxcZAtQCi7RDa6cqMf
…kip ci] The game browser's helper reads it; Madeira sets it each session. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QwPPpxcZAtQCi7RDa6cqMf
insertfloppy
pushed a commit
that referenced
this pull request
Oct 30, 2026
iOS refuses GPU work from an app that is not active ("Insufficient
Permission (to submit GPU work from background)",
MTLCommandBufferErrorDomain 7). A Direct3D game kept submitting every
frame after a switch to another app, each frame failed, and the game
could lose its device and come back broken. OpenGL already waits
(WiniosGL.m); winemetal had nothing.
build/dxmt-patches/0004: winemetal's commit and nextDrawable wait from
WillResignActive until DidBecomeActive, so the game stands still and
carries on where it was. The main thread never waits (it delivers the
notification that ends the wait). [wmt-bg] lines log each wait and how
long it lasted. madeira.cfg background-pause = 0 turns it off.
Applies on the pinned dxmt (05876bb) and on PR #21's f50fdcc after
their 0001-0003. tests/host/check-background-pause.py checks the patch,
that the patch series applies when dxmt is checked out, and the catalog
line (same text the generator writes).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QwPPpuKJFjmUdhDqyKH7KR
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.
Requested by Cameron · project thread
Merges intraducine's three open upstream PRs into our build line ahead of the devs. intraducine's commits (e7332ee, 07471e3, 6e60c3a) are merged as they are, so authorship is kept. If the devs change these PRs before they merge them, we take their final version at the next catch-up.
What's in it
build-playport-kosmickrisp.sh). The default Mesa build is unchanged.Our changes on top
apply.shwould have failed the build. 0003 now builds on intraducine's table.MadeiraSharedTextureLookup, which madeira-d3d12's OpenSharedHandle uses, resolves those handles, and a shared texture with no mach port is shared in-process too.Checked
Not tested
intraducine lists a device build, GPU tests and FEX assembly tests as still to do. This needs build 49 and a device test. Draft until Cameron has tested it.
Generated by Claude Code