Repository navigation
Conversation
Treat ZTE=0 as an unconditional depth-test pass without Z-buffer writes, regardless of stored ZTST or alpha-failure ZB_ONLY. Add synthetic real-backend regression coverage for the opening-movie sprite state and enabled depth comparisons.
This was referenced Oct 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
King's Field: The Ancient City's opening movie sets
TEST.ZTE=0. The CPU GS backend still applied the storedZTST=NEVER, so decoded and uploaded movie pictures were rejected and only audio played. Disabled depth testing now passes pixels regardless of ZTST and suppresses depth writes, including alpha-failure ZB_ONLY. Enabled depth comparisons retain their existing behavior.This follows the ZTE handling in PCSX2's software renderer. Six synthetic tests use the actual CPU GS backend and cover the movie's two field sprites, disabled methods, enabled comparisons, ZBUF masking and ZB_ONLY.
Validation: native Windows x64 MSVC 19.44, RelWithDebInfo with
/O2 /fp:strict, passed all 51 standalone GS cache/depth CTest cases. Reverting just the two production hunks makes three of the six new cases fail, including the black movie. The Holyland integration also displayed the opening with audio and reached gameplay at its natural ending in a private retail run. No disc assets or generated guest code are included. This PR's standalone tests do not exercise the full runtime; Linux was not run.