Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete fix overbright issue in FF Type-0 by advancing the coretiming #1734

Closed
wants to merge 2 commits into from
Closed

Conversation

raven02
Copy link
Contributor

@raven02 raven02 commented May 9, 2013

in sceGeListUpdateStallAddr() and correct v.a wrongly multipled to 4.0

Issue #1410

@hrydgard
Copy link
Owner

hrydgard commented May 9, 2013

That's weird that it would fix it.

Also, are you sure about the alpha doubling thing? Does that fix something?

@raven02
Copy link
Contributor Author

raven02 commented May 9, 2013

Yes , it suprises to me that the advance coretiming to sceGeListUpdateStallAddr() fixed this issue . It is suggested by @unknownbrackets previously until today i tested it.

In color doubling , v = v * 2.0 , that means v.a also get doubled and subsequently in alpha doubling , it get doubled again by v.a = v.a * 2.0 , total 4.0

This alpha doubling thing exactly fixes the overbright issue in FF type-0

@unknownbrackets
Copy link
Collaborator

Hmm, I thought alphatest happened before the doubling (it seemed this way from Popolocrois at least for sure.) The doubling is just for blend, so the alphatest should test the original, right?

Also, this Advance thing is probably not right, I just wanted to know if it fixes it. Maybe AdvanceQuick could work (don't recall, and can't spare the time to check right now, sorry), but we need to make sure e.g. a savestate does not happen within a syscall.

@hrydgard the essential issue is that scheduling an event does not reduce downcount (maybe it could?) and so, the event doesn't happen until downcount hits 0 much later. Or, that's what I assume if this does fix it.

It does seem likely that color doubling would only affect rgb... what does JPCSP do?

-[Unknown]

@Makarox
Copy link

Makarox commented May 9, 2013

sorry but this solves the exaggerated brightness in Dissidia and KH BBS??

or only applies only to Type-0

@hrydgard
Copy link
Owner

hrydgard commented May 9, 2013

Revert the FragmentShaderGenerator changes (I think those aren't right) and I'll merge.

@unknownbrackets
Copy link
Collaborator

Just keep in mind that Advance:

https://github.com/hrydgard/ppsspp/blob/master/Core/CoreTiming.cpp#L538

Calls savestates. So merging this will cause random crashes when using savestates and jit together, as I said above (since it will return from the syscall into INT 3 space after the jit cache is necessarily cleared for the savestate.)

-[Unknown]

@raven02
Copy link
Contributor Author

raven02 commented May 10, 2013

@unknownbrackets , just tested CoreTiming::AdvanceQuick(); also work fine .

Close this one and send out a cleaner one

@raven02 raven02 closed this May 10, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants