Skip to content

GS: Check CLUT dirty write on vertex kick - #5154

Merged
refractionpcsx2 merged 2 commits into
masterfrom
gs_dirtyclut
Dec 14, 2021
Merged

GS: Check CLUT dirty write on vertex kick#5154
refractionpcsx2 merged 2 commits into
masterfrom
gs_dirtyclut

Conversation

@refractionpcsx2

@refractionpcsx2 refractionpcsx2 commented Dec 13, 2021

Copy link
Copy Markdown
Member

Description of Changes

Check CLUT dirty write on vertex kick instead of during the actual draws.

Rationale behind Changes

Previously the CLUT dirty check was done during the draw, however this is way too late and we're not actually invalidating memory at this point, just marking the CLUT as dirty, it will then flush the draws THEN invalidate the CLUT, meaning it is in the correct state for the upcoming draws. Virtual On was modifying the CLUT in quick succession causing it to end up with an invalid version of the CLUT.

Suggested Testing Steps

Test games with colour issues in the software renderer (Hardware maybe too, but that has other problems, especially with the Sega games). General games worth testing too, just to make sure I didn't bust anything.

Fixes #4826

@github-actions github-actions Bot added the GS label Dec 13, 2021
@lightningterror lightningterror added this to the Release 1.8 milestone Dec 13, 2021
@refractionpcsx2 refractionpcsx2 changed the title GS: Clear dirty state before flush+update GS: Check CLUT dirty write on vertex kick Dec 14, 2021
CLUT only updates if valid index type used in PSM
@refractionpcsx2
refractionpcsx2 merged commit 37ccd81 into master Dec 14, 2021
@refractionpcsx2
refractionpcsx2 deleted the gs_dirtyclut branch December 14, 2021 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]: Sega Ages - Virtual On, Health-bar rendering issue.

3 participants