Skip to content

Expand VIF UNPACK V2 and V3 lanes - #237

Open
GTTeancum wants to merge 3 commits into
ran-j:mainfrom
GTTeancum:codex/vif-v2-v3-lanes
Open

Expand VIF UNPACK V2 and V3 lanes#237
GTTeancum wants to merge 3 commits into
ran-j:mainfrom
GTTeancum:codex/vif-v2-v3-lanes

Conversation

@GTTeancum

@GTTeancum GTTeancum commented Aug 30, 2026

Copy link
Copy Markdown

Summary

  • expand V2 UNPACK inputs as XYXY instead of leaving Z/W stale
  • source V3 W from the next packed component when XYZ remains within the source quadword
  • zero V3 W when XYZ ends exactly on a 16-byte source boundary
  • add focused V2-8 and V3-16 regression coverage, including protection against consuming the following VIF command as W

PCSX2 documents these hardware-tested behaviors in its VIF unpack implementations. Games rely on the otherwise-documented-as-indeterminate V2/V3 lanes.

This branch is based directly on main; it is independent of #232.

Verification

  • MINITEST_FILTER="VIF UNPACK V2 duplicates": 1 passed, 0 failed
  • MINITEST_FILTER="VIF UNPACK V3 zeros W at a quadword boundary": 1 passed, 0 failed
  • Release build with MSBuild, one worker

The unfiltered suite has pre-existing failures outside PS2Memory and includes long scheduler tests; the focused regression cases pass cleanly.

@GTTeancum
GTTeancum force-pushed the codex/vif-v2-v3-lanes branch from 34036ac to 2bd95c3 Compare August 31, 2026 21:48
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.

1 participant