Skip to content

vulkan: expose the complete experimental source profile and reproduction artifacts - #502

Draft
Jelly-RayTian wants to merge 1 commit into
willfaust:mainfrom
Jelly-RayTian:experiment/detroit-complete-source
Draft

Jelly-RayTian wants to merge 1 commit into
willfaust:mainfrom
Jelly-RayTian:experiment/detroit-complete-source

Conversation

@Jelly-RayTian

Copy link
Copy Markdown
Contributor

The earlier Detroit menu/scene/camera observation depended on a broader source experiment than the reduced Vulkan loader. This Draft submits that broader work as source and build/reproduction artifacts, rather than another screenshot-only report. It is an architecture/compatibility review proposal, not a claim of stable current-main gameplay or a ready default driver replacement.

Code and source completeness

  • Ten pinned MoltenVK v1.4.2 source patches: vertex-context isolation, integer-blend diagnostics, direct cache export, bounded cache residency, serialization accounting, retained merge/specialization ownership, Metal compiler observation, opt-in zero vertex inputs, Metal optimization selection and opt-in integer fragment outputs.
  • An explicit source-preparation/build entry point for that entire series, using current main's existing MADEIRA_MOLTENVK_LIBRARY override. No ordinary build invokes it; submodule pins and FEX/DXMT sources are unchanged.
  • The complete historical Madeira source diff, all 91 file changes from 279fd0f8 to published source snapshot 509d5453. It includes the older adapters/VM policy, Wine LGPL overlay, diagnostics and every original fixture. The reconstruction helper checks exact Git tree 344ca88d8caa3fa4559651baa85ef6a0041f4e64, all 77 original file hashes and the Wine overlay hash. Historical source is prepared in an isolated worktree, not applied over main.
  • Generic native and Windows fixtures, including a builder that correctly links all composite Windows probes. New upstream versions of already-present fixtures are retained.
  • Two current-profile configs with vulkan = static, provenance, source/build commands, policy limits and the original binary's identity/download record.

Entry point: build/vulkan-ios/experimental/README.md. The existing Detroit observation report links it. Source patches retain their upstream Apache-2.0 / LGPL terms; Madeira-side additions retain GPL-3.0-or-later with the Madeira Converter Exception. The scoped patch-text whitespace attribute preserves original source bytes.

IPA available for download from this PR

Download the historical unsigned Debug IPA (111,480,832 bytes)

  • SHA-256: c48f9e645badf8fde57c739ad8a787116ab7551625f1166eb676b6b964efcb4e.
  • App image UUID: 19C01ED6-159C-3067-AA9D-CFCB96F40DA5.
  • Build manifest, checksums.
  • Original bundle ID com.willfaust.madeora; retaining it while signing may replace an installed Madeira. Preserve saves and use a permitted separate ID for parallel installation. Sign with the user's actual certificate/profile and enable JIT. No certificates, pairing files, accounts or game files are supplied.

The IPA stays a Release asset rather than a 111 MB source-Git binary. Local bytes match the Release digest; ZIP integrity and all three recorded Vulkan/FEX DLL hashes were checked again.

Evidence identities are intentionally explicit: the earlier successful scene screenshots, the published source snapshot, this later historical integer-output IPA and a new main+profile build are different records. The snapshot includes later work. There is no claimed exact reconstruction of the screenshot package, no new source-matched rebuild of the historical IPA and no proof that the new main profile already reaches the same scene.

Validation performed on the submitted sources

  • Offline host regression passes: complete source reconstruction using a temporary Git index, exact 91-file snapshot tree, 77 file hashes/Wine overlay, patch/config hashes, full MoltenVK patch application, idempotence and refusal of unrelated changes without reset.
  • Clean parent macOS MoltenVK Release build succeeds against the exact ten-patch source, using cached external prerequisites. Not an empty-cache build.
  • Seven real native Metal GPU suites pass against the newly built library: unbound vertex inputs/default-off behavior and valid-data preservation; 56 integer-output combinations plus raster-discard guard; cache bounds/concurrency/merged specialization readbacks; six compiler-option cases; integer-blending diagnostics; bounded compiler observer; vertex-cache reflection/reuse. These are generic implementation regressions, not claims that otherwise invalid application inputs are Vulkan conformant.
  • Eight ordinary Windows x64 Vulkan test executables compile/link with -O2 -Wall -Wextra -Werror. This does not imply a Wine/iPad run of those new executables.
  • Shell syntax and staged whitespace checks pass. No game IDs/addresses, fake capabilities or Steam/DRM/authentication bypasses are introduced.

Review limits / why Draft

The older broad VM policy can regress other launchers, and compatibility choices for missing inputs or fragment types need design review. They are not silently installed into main. Shader-cache bounding is not a total-memory cap; size optimization is not a demonstrated iPad speed improvement.

No full current-profile iOS app/IPA build, new real-iPad chain test, stable/full-game session, save/reload or frame-rate result is claimed. A later queue-submit/pipeline failure remained in the historical device investigation. Earlier fixture/game observations are not relabeled as exact-head validation. AI-assisted preparation; contributor supplied the historical device observations and authorized source/IPA publication.

…profile

Signed-off-by: Jelly-RayTian <285009427+Jelly-RayTian@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant