video_core: preserve coherence across aliased images - #4773
Open
cuesta4 wants to merge 1 commit into
Open
Conversation
cuesta4
force-pushed
the
codex/warp-effect
branch
from
July 30, 2026 01:15
9572a65 to
d47db5e
Compare
Contributor
|
This does the exact same thing that #4770 does, |
cuesta4
force-pushed
the
codex/warp-effect
branch
from
July 30, 2026 01:29
d47db5e to
33aa93f
Compare
Contributor
Author
cuesta4
marked this pull request as ready for review
July 30, 2026 01:38
cuesta4
force-pushed
the
codex/warp-effect
branch
from
July 31, 2026 22:42
33aa93f to
c21d1f0
Compare
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.
Problem
PS4 applications can bind the same guest surface memory through image descriptions with different extents or Vulkan-compatible formats. The texture cache represented these bindings as independent host images, so writes performed through one alias were not consistently visible through the others. Asynchronous readbacks could also overwrite newer guest writes with stale GPU data. This caused missing post-processing effects, stale render-target contents, and incorrect composition in titles such as God of War III Remastered.
Fix
Track compatible images sharing the same guest address as a coherent alias group with an authoritative backing image, pending writer, and generation counters. Synchronize contents through explicit Vulkan image copies and barriers, supporting both complete coverage and compatible partial intersections. Track asynchronous readback pages by generation so invalidated guest pages are not overwritten, and invalidate non-coherent download allocations before host reads. Alias copy compatibility is isolated as a pure operation shared by the runtime and offline tests.
Testing
Fixes God of War III Remastered's hidden chest effects and hyper-exposure bug.