Skip to content

Select audited native frame waits and retain X6 native services on the modern SDK - #776

Merged
mstan merged 5 commits into
masterfrom
perf/native-services-20261026
Oct 27, 2026
Merged

mstan merged 5 commits into
masterfrom
perf/native-services-20261026

Conversation

@mstan

@mstan mstan commented Oct 27, 2026

Copy link
Copy Markdown
Member

Games can now bind audited polling edges to the existing portable idle-induction engine through build-selected ENHANCED/REFERENCE implementations. The native path preserves event boundaries, timeout callbacks, pipeline state and guest cycles, and retains the existing netplay/precise-mode exclusions. No player-facing HLE/LLE toggle is added.

Also reuses the existing X6 native-service bridge for the modern SDK: bounded replacements, updated overlay ABI, designated profile extensions, and explicit unwind-safe callback context restoration. Empty registrations preserve existing callers. Consumer code and original-disc AOT caches must be regenerated for ABI 35.

Validation: 18 targeted runtime CTests; codegen, overlay callback and interpreter entry guards; store-counter cases; actual regenerated Ape Escape, Tomba! and X6 wait callers (44 comparisons each, scales 1/2 and both scaled-charge modes); Tomba scratchpad caller checks. Built gameplay and current-build save/load passed for those three candidates. Production wait/package A/B observations show about 25% CPU/frame reduction for X6 (3 pairs) and about 33% for Tomba (2 usable pairs); background load limits these observations, and these are not measurements against the original framework pin. Refreshed Ape performance qualification remains pending.

Central tracking: beads-wuhs, beads-fobc and optimization campaign beads-2wy8.1. Owner has authorized committing and cutting title releases; X4/X5 updates are PR-only.

@mstan
mstan merged commit c26aa5d into master Oct 27, 2026
1 check passed
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.

2 participants