Repository navigation
Conversation
The SDK dereferences a missing vi client when a game opens the display returned by ListDisplays. Route the name Default through the same static display as OpenDefaultDisplay. Alien: Isolation reached gameplay with the hook on an M4 Mac.
psdevhh
force-pushed
the
codex/vi-open-default-by-name
branch
from
November 3, 2026 01:08
9d785f0 to
f8cce6b
Compare
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.
What and why
Alien: Isolation opens the display named
Defaultthroughnn::vi::OpenDisplay. The SDK's implementation dereferences a missing vi service client during window setup. Hook the named call and reuse the static object returned byOpenDefaultDisplayfor the name advertised byListDisplays. Unknown names return an error.Checked
dac4a433. The upstream SARC reader change leaves the tested host and chain inputs identical.mainatb1dee89c. The host suite (make -C dm/host/tests GAME=010015100B514000 run), documentation tests and LLVM 23.1.4 clang-tidy check ofdm/gfx/hle_vi.cpassed.010075D00E8BA000, base build 1.1_46609, passed window setup and reached the first playable room. The rebased integration also passed window setup and submitted shaders during the GLSLC capture boot.regress.py impactpoints to four profiles that callOpenDefaultDisplay. Dark Souls Remastered 1.0.3 (01004AB00A260000) imports that entry point. In the 65-second comparison both revisions reached the frame target with no new warnings. A shorter run flaggedSetRenderEnableConditionalonly on the candidate. Both revisions emitted it in the longer run. The harness marks the boot columnFAILfor an existing depth-mode mismatch on both revisions. Other games and iOS gameplay were outside this check.t_geometry_hazards.m, covered by upstream PR C lint: t_geometry_hazards checks its readback buffer, and notes who owns its program #979.Dark Souls Remastered regression report
regress.py check (full): PASS
Baseline
origin/mainb1dee89, candidateHEAD9d785f0; Apple M4, macOS 27.2, Xcode 27.2; 131.7 s01004AB00A26000001004AB00A260000
01004AB00A260000: PASSDocs
docs/reference/services.md#vi-layer-and-display-calls-without-vi-service-objectsand regenerated the symptom index.