KillZone: Fix margin detection on the title screen, fixing some glitches. Need more fixes though to fix the shimmer effect.

See #6207 comments
This commit is contained in:
Henrik Rydgård 2022-08-31 11:40:10 +02:00
parent 3168f8d119
commit 437d6d30a0
3 changed files with 23 additions and 13 deletions

View file

@ -1686,9 +1686,14 @@ void GPUCommon::Execute_Prim(u32 op, u32 diff) {
}
}
if ((gstate.vertType & 0xFFFFFF) == 0x00800102 && PSP_CoreParameter().compat.flags().SplitFramebufferMargin) {
// Need to re-check the framebuffer every draw.
gstate_c.Dirty(DIRTY_FRAMEBUF);
if (PSP_CoreParameter().compat.flags().SplitFramebufferMargin) {
switch (gstate.vertType & 0xFFFFFF) {
case 0x00800102: // through, u16 uv, u16 pos (used for the framebuffer effect in-game)
case 0x0080011c: // through, 8888 color, s16 pos (used for clearing in the margin of the title screen)
case 0x00000183: // float uv, float pos (used for drawing in the margin of the title screen)
// Need to re-check the framebuffer every one of these draws, to update the split if needed.
gstate_c.Dirty(DIRTY_FRAMEBUF);
}
}
// This also makes skipping drawing very effective.