Skip to content

Stub the VI frame-history hook in the NVN suspend test - #1603

Closed
ishtiaq156 wants to merge 1 commit into
seedds:mainfrom
ishtiaq156:fix/nvn-suspend-test-frame-stub-20261106
Closed

ishtiaq156 wants to merge 1 commit into
seedds:mainfrom
ishtiaq156:fix/nvn-suspend-test-frame-stub-20261106

Conversation

@ishtiaq156

@ishtiaq156 ishtiaq156 commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Status — November 7, 2026: Superseded by upstream #1578, specifically 060aef96 (test targets now link shared t_host_stubs.c) and 8764cdfc (the weak dm_vi_frame_queued stub). The existing main branch no longer needs this separate local definition, and a current-main merge conflicts in the same test file. Do not merge #1603 as written. This draft remains open for provenance/review; no runtime fix or Wonder port depends on it. Historical reproduction and tests follow.

What and why

The CPU-only t_gfx_suspend test includes NVN queue/present code but does not link the guest VI layer. nvnQueuePresentTexture now calls dm_vi_frame_queued (the real frame-history callback), so this test's standalone arm64 link fails with Undefined symbols: _dm_vi_frame_queued on the current main. The same missing symbol blocked the Mac build check of #1564, unrelated to that PR's optional Mac RomFS overlay.

Provide a no-op test-local dm_vi_frame_queued stub alongside the test's existing dm_vi_layer_crop and host stubs. The production callback, NVN implementation and game behavior are unchanged.

Checked

  • MAKE=/usr/bin/make /usr/bin/make -C dm/gfx/tests GAME=010015100B514000 t_gfx_suspend && ./dm/gfx/tests/t_gfx_suspend — 15 checks passed, zero failures, including suspension while prepare holds the submit lock, queued submissions, drain and resume.
  • The targeted Mac build/test exited 0; full log and numeric marker: build-logs/wonder-ci-gfx-suspend-20261106.{log,exit} in the local workspace.
  • git diff --check passed; no changes to app, game profiles, source ROMs or saves.

Docs

  • Test-local stub is documented in source; no public API or runtime behavior changes.

@seedds

seedds commented Nov 10, 2026

Copy link
Copy Markdown
Owner

Thanks for isolating the missing test symbol and documenting the upstream status. This is superseded by #1578: 060aef96 links the shared test stubs, and 8764cdfc supplies the weak dm_vi_frame_queued stub.

Current main has that shared implementation, so it does not need another definition in t_gfx_suspend. Closing as superseded, in line with the status note in the PR. The discussion and validation remain here for reference.

@seedds seedds closed this Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants