Skip to content

Upstream PR 2988 Referenced Vertex RAM

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

Upstream PR #2988 — Guard vertex RAM writes on what draws read

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 #2988
GitHub state / draft Open / No
Current head 8a6a4b87001a65f41552feba7ff2e44331436e76
Originally reviewed head 8a6a4b87001a65f41552feba7ff2e44331436e76
Last metadata update (UTC) 2026-10-18T20:59:12Z
Head versus original review Same recorded head; metadata/state updates do not indicate a new proposal-code head.
Current action Active upstream guard-set proposal; #2956 retired.
Fork/release availability This upstream proposal’s GitHub state does not establish full fork/release inclusion. The historical overlap below is scoped to its recorded fork baseline; use the current feature register for delivered fork behavior.

Still open. #2956 closed in its favor; that closure does not mean #2988 merged. Keep referenced-byte tracking separate from the fork’s immutable vertex versions and test their actual lifetime boundary.

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#2988
State at 2026-09-21 audit Open
Reviewed upstream head 8a6a4b87001a65f41552feba7ff2e44331436e76
Last upstream update seen 2026-09-06
Reviewed upstream base f9b14039e5bb56ae2d8f028e31e7cc19f13f7e12
Fork baseline 82d04d84bdb3de956f20c3537e1da2cece0e8da2
Relationship Same lifetime problem; alternative downstream strategy
Related fork work Mainkill1/xemu#85, Mainkill1/xemu#89
Contribution priority Highest
Upstream contact status No comment posted by this audit.

Summary

This work distinguishes vertex bytes referenced by queued draws from bytes merely uploaded during the current batch.

Upstream scope

A draw can consume data uploaded in an earlier batch. Tracking recent uploads alone can miss a later guest write that overwrites memory still needed by queued GPU work.

Corresponding fork work

Fork #85 calculates checked fetch spans and reconciles GPU-authored surfaces before vertex consumption. Fork #89 uses bounded immutable versions so earlier recorded draws keep their intended bytes while later writes advance to a new version.

Difference that must remain explicit

Range tracking and versioning are alternative implementations of overlapping responsibilities. Combining them is not automatically faster or safer without examining ownership and fallback behavior.

Transferable regression and review cases

  • Three generations: queue draw A, rewrite the same guest allocation for B, queue B, rewrite for C, queue C; each draw must observe its own bytes.
  • Force staging-buffer rollover between generations so reservation/finish cannot accidentally retire required data.
  • Cover data uploaded in an earlier batch but referenced in the active batch.
  • Count finishes, preserved bytes, version allocations, and fallback frequency separately.

Suggested upstream handoff

Offer XemuVertexRamThreeGenerations, exact fetch-span checks, and rollover coverage. Avoid proposing the entire downstream versioning design as a mandatory replacement.

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 8a6a4b87001a Fork/upstream source comparison recorded Handoff prepared; nothing posted

References

Clone this wiki locally