Tweak the Mali stencil-test workaround to work for Surf's Up. See #15016

This commit is contained in:
Henrik Rydgård 2022-07-11 16:57:52 +02:00
parent c8739d5a1a
commit c5a10a5501
2 changed files with 6 additions and 1 deletions

View file

@ -345,7 +345,7 @@ void ComputeFragmentShaderID(FShaderID *id_out, const Draw::Bugs &bugs) {
} else if (bugs.Has(Draw::Bugs::MALI_STENCIL_DISCARD_BUG) && PSP_CoreParameter().compat.flags().MaliDepthStencilBugWorkaround) {
// Very similar driver bug to the Adreno one, with the same workaround (though might look into if there are cheaper ones!)
// Keeping the conditions separate since it can probably be made tighter.
id.SetBit(FS_BIT_NO_DEPTH_CANNOT_DISCARD_STENCIL, !IsStencilTestOutputDisabled() && !gstate.isDepthWriteEnabled());
id.SetBit(FS_BIT_NO_DEPTH_CANNOT_DISCARD_STENCIL, !IsStencilTestOutputDisabled() && (!gstate.isDepthTestEnabled() || !gstate.isDepthWriteEnabled()));
}
}
}

View file

@ -611,6 +611,11 @@ ULES00978 = true
ULES00977 = true
ULES00976 = true
# Surf's Up - see issue #15016
ULES00816 = true
ULES00817 = true
ULUS10262 = true
[RequireDefaultCPUClock]
# GOW : Ghost of Sparta
UCUS98737 = true