Skip to content

Upstream PR 2956 Precise Vertex RAM Finish

OpenAI Codex edited this page Nov 1, 2026 · 2 revisions

Upstream PR #2956 — Finish only when vertex RAM updates affect pending draws

Upstream work · Actionable research · Research and retired work

Current disposition — November 1, 2026

Reviewed: November 1, 2026. Fork source: b7140848 (full SHA b71408480a3a979a9c584663e1d1f400904c8bb7). Latest stable checked: v0.8.136-0-g458730bf5373, September 30, source 458730bf5373f1f0d027450fef7443e3af7a3ae1. GitHub state, branch recommendation, source presence and release availability are separate facts. See current status and release versus main.

Current field November 1, 2026 observation
GitHub source Upstream #2956
GitHub state / draft Closed, unmerged / Yes
Current head 966416c9931db42aea3f2b1192cfb5c7a4124004
Originally reviewed head 966416c9931db42aea3f2b1192cfb5c7a4124004
Last metadata update (UTC) 2026-10-02T17:45:46Z
Head versus original review Same recorded head; metadata/state updates do not indicate a new proposal-code head.
Current action Retired parallel candidate; follow #2988.
Fork/release availability Closed upstream proposal; no separate #2956 delivery claimed. Fork #85/#89 are independent vertex-freshness/version mechanisms.

Closed without merge on October 2. The author says #2988 covers the targeted guard-set case. Remove #2956 from active parallel candidates; #2988 remains open. The author separately retained a possible unchanged-byte comparison follow-up, which is not a delivered fix.

This refresh checked GitHub identity/state and the specific source boundaries named above. It did not rerun native games, XISO timings or integration qualification. Historical performance claims remain attached to their original heads.

Historical review — September 21, 2026

The review below is preserved as written, including its original state, head, fork baseline and proposed handoff. Its present-tense statements apply to that dated review; the current disposition above governs today’s action.

← Upstream Work

Field Value
Upstream PR xemu-project/xemu#2956
State at 2026-09-21 audit Open
Reviewed upstream head 966416c9931db42aea3f2b1192cfb5c7a4124004
Last upstream update seen 2026-09-06
Reviewed upstream base f9b14039e5bb56ae2d8f028e31e7cc19f13f7e12
Fork baseline 82d04d84bdb3de956f20c3537e1da2cece0e8da2
Relationship Same lifetime problem; more precise upstream range strategy
Related fork work Mainkill1/xemu#85, Mainkill1/xemu#89
Contribution priority High
Upstream contact status No comment posted by this audit.

Summary

The PR narrows synchronization to vertex-memory updates that overlap ranges referenced by pending draws.

Upstream scope

It refines referenced-memory tracking to reduce unnecessary finishes while retaining correctness for active readers.

Corresponding fork work

The fork’s checked fetch-span helper handles first_vertex, last_vertex, stride, element size, zero stride, DMA bounds, VRAM bounds, and surface overlap. Its versioning work supplies stress cases for writes that overlap active readers.

Difference that must remain explicit

A page-aligned upload interval is not necessarily the guest fetch interval. An implementation can be conservative, but reported opportunity and correctness tests should use the actual consumed bytes.

Transferable regression and review cases

  • Fetch size is (last - first) * stride + element_size, with explicit zero-stride handling.
  • Inclusive DMA and exclusive VRAM bounds are checked before access.
  • Non-overlapping updates avoid a finish; one-byte edge overlaps trigger protection.
  • Earlier-upload/later-reference and three-generation rollover cases remain correct.

Suggested upstream handoff

Offer the shared fetch-range tests and active-reader scenarios. Keep performance claims tied to measured finishes and guest progress.

Claims this page does not support

  • It does not prove the upstream branch merges cleanly with current upstream.
  • It does not prove a native correctness or performance result unless a linked exact-head run says so.
  • It does not transfer favorable performance percentages between hardware, renderers, games, or source heads.
  • It does not authorize posting a comment or review upstream.

Before sending anything upstream

  • Refresh the PR state, head SHA, description, changed files, and newest review comments.
  • Recheck the corresponding fork implementation on current main.
  • Run or cite the narrow regression on an exact source state.
  • Verify every public link and remove private paths, captures, game data, credentials, and internal logs.
  • Phrase source concerns as source concerns and reproductions as reproductions.
  • State the uncovered behavior and evidence limit.
  • Add the posted URL and upstream response to this page.

Tracking log

Date Upstream head Action Result
2026-09-21 966416c9931d Fork/upstream source comparison recorded Handoff prepared; nothing posted

References

Clone this wiki locally