Skip to content

Upstream PR 3000 Device SPIRV Target

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

Upstream PR #3000 — Compile SPIR-V for the supported device version

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 #3000
GitHub state / draft Merged / No
Current head c53e813ec7a22fa1ae38ea5617bef601f26c0fbf
Originally reviewed head c53e813ec7a22fa1ae38ea5617bef601f26c0fbf
Last metadata update (UTC) 2026-10-19T08:27:04Z
Head versus original review Same recorded head; metadata/state updates do not indicate a new proposal-code head.
Current action Upstream history; fork equivalent present in stable and main.
Fork/release availability Equivalent supported-target selection is present in pinned main and the September 30 stable source; the upstream merge itself is not in fork ancestry. No new native device campaign was run for this refresh.

Merged upstream on October 19 as c4d2ee2665db. Independently inspected fork pgraph_vk_glsl_target_versions() and pgraph_vk_shader_target_for_api() at both pinned main and stable 458730bf: Vulkan 1.3 targets SPIR-V 1.6, Vulkan 1.2 targets SPIR-V 1.5, otherwise the Vulkan 1.1/SPIR-V 1.3 route remains. Fork target-specific persistent-cache filenames also distinguish these environments. The upstream merge commit is not an ancestor of pinned fork main, so the fork has an existing equivalent mechanism rather than that merged commit. Still-open #2999 addresses a separate required-feature contract.

Source checks: main compiler target, stable compiler target, device target selection, target-specific cache identity.

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#3000
State at 2026-09-21 audit Open
Reviewed upstream head c53e813ec7a22fa1ae38ea5617bef601f26c0fbf
Last upstream update seen 2026-09-06
Reviewed upstream base f9b14039e5bb56ae2d8f028e31e7cc19f13f7e12
Fork baseline 82d04d84bdb3de956f20c3537e1da2cece0e8da2
Relationship Related target-selection and persistent-identity work
Related fork work Mainkill1/xemu#70, Mainkill1/xemu#75
Contribution priority High
Upstream contact status No comment posted by this audit.

Summary

Upstream selects a SPIR-V target compatible with the device. The fork’s relevant lesson is that persistent artifact identity must include that effective target.

Upstream scope

The compiler target should follow the Vulkan/SPIR-V version actually supported and enabled for the selected physical device.

Corresponding fork work

Fork #75 makes physical-device selection and reporting explicit enough to verify the effective adapter. Fork #70 includes target environment and compiler policy in persistent SPIR-V identity.

Difference that must remain explicit

Adapter selection does not itself prove the compiler target is correct. Source text alone is not a sufficient cache key across target or compiler-policy changes.

Transferable regression and review cases

  • Two supported device target levels produce distinct cache identities for identical GLSL.
  • A cache written for one target is not adopted under another.
  • Selected physical device, enabled Vulkan version/features, compiler target, and pipeline consumption agree.
  • Unsupported targets fail before publication without poisoning a compatible cache entry.

Suggested upstream handoff

Ask that #2993, #2999, and #3000 be reviewed together at the identity boundary. Offer #70’s exact-source/target cache tests.

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

References

Clone this wiki locally