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

Abnormal graphical behaviour in Final Fantasy I and II since v0.8.1-209-g405ac23 due to #2580 (Regression, flickering window backgrounds in FF 1 and broken window backgrounds in FF 2) #2595

Closed
solarmystic opened this issue Jul 2, 2013 · 9 comments

Comments

@solarmystic
Copy link
Contributor

Final Fantasy I:-

This game used to have working, static, blue backgrounds (default) in the the windows.

Since v0.8.1-209-g405ac23 (when #2580 https://github.com/raven02/ppsspp/commit/6a1b6407fdd9e7373b430f5be854f1d900071636 "Partially fix depth issues in multiple games" commit was merged into master 405ac23), they now flicker intermittently.

Last revision to exhibit proper behaviour is v0.8.1-207-g6be8084.

Problem reproduction:-

  1. Start game in affected revision (0.8.1-209+) with default emulator settings.
  2. Load any save game and head to the status menu
  3. Graphical abnormality observed.

Short youtube videos comparing the present (abnormal) and previous (normal) behaviour:-

Abnormal behaviour in v0.8.1-209-g405ac23
http://www.youtube.com/watch?v=YZmLhiGjH9M&feature=youtu.be

Correct behaviour in v0.8.1-207-g6be8084.
http://youtu.be/yAdPSpNBgUI

Temporary solution:-

Disabling Buffered Rendering fixes the flickering issue in the affected revisions
http://youtu.be/YM1vYCcUIIg

Final Fantasy II:-

The game used to have functional blue (default) windows for dialogue and menus.

It does not display them anymore since v0.8.1-209-g405ac23 after @raven02's #2580 https://github.com/raven02/ppsspp/commit/6a1b6407fdd9e7373b430f5be854f1d900071636 "Partially fix depth issues in multiple games" pull request was merged into master 405ac23.

Last revision displaying the correct graphical behaviour is v0.8.1-207-g6be8084.

Problem reproduction:-

  1. Start game using v0.8.1-209-g405ac23 or newer on default settings
  2. Start New Game
  3. Problem can be observed right away

Broken behaviour in v0.8.1-209-g405ac23

209

Correct behaviour in v0.8.1-207-g6be8084.

207

Temporary solution:-

Like FF I, disabling Buffered Rendering fixes this abnormality for now

209broff

@DonelBueno
Copy link

This commit has caused a glitch in MotoGP too.

sem ttulo

It only happens when Buffered Rendering is on. Any refresh on the buffer, like enabling/disabling SSAA and toggling between fullscreen and windowed, fixes it until you move the camera again.

It has also made the shadows disapear, regardless of the Buffered Rendering configuration.

@raven02
Copy link
Contributor

raven02 commented Jul 3, 2013

For MotoGP, it is stencil issue .Has been fixed here d43a2f4 .However , i don't know whether it can fix FF1/II since i don't own those games and cannot test them .

@solarmystic
Copy link
Contributor Author

@hrydgard

Please do not close this issue yet even after you merge @raven02's #2598 fix for MotoGP.

The FF games still need to be dealt with.

@raven02
Copy link
Contributor

raven02 commented Jul 3, 2013

@solarmystic , for quick checkout on FFI/II , you can try this .

(rename from jpg to zip and extract)
ppssppwindows

@solarmystic
Copy link
Contributor Author

@raven02

Yep that fixed FF 1 and II as well, although your build is missing sound effects in those games for some reason.

I guess you should change the title of the pull request to reflect this new development.

@raven02
Copy link
Contributor

raven02 commented Jul 3, 2013

Alright Thanks . (Missing sound effect is ok as my build is testing something on volume change )

@raven02
Copy link
Contributor

raven02 commented Jul 3, 2013

@hrydgard / @unknownbrackets , regarding the depth issue fix . I think we still have one case missing (then would be prefect) however i have no idea what can be included to that bool depthMask to test it . (try to set something like glstate.depthChanged ?)

For example , Saint Seiya Omega and Gundam AGE Universe always require depth write to be TRUE in any cases in order to show ALL stuffs correctly however when depth test enabled , it returns FALSE which some scenes in-game still missing stuffs (When depth test disabled always return TRUE and that's why there're some missing stuff appears to be shown now)

    bool depthMask = (gstate.clearmode >> 10) & 1;
    if (gstate.isDepthTestEnabled()) {
        glstate.depthTest.enable();
        glstate.depthFunc.set(GL_ALWAYS);
        glstate.depthWrite.set(depthMask ? GL_TRUE : GL_FALSE);
    } else {
        glstate.depthTest.enable();
        glstate.depthFunc.set(GL_ALWAYS);
        glstate.depthWrite.set(GL_TRUE);
    } 

@raven02
Copy link
Contributor

raven02 commented Jul 4, 2013

This issue should be resolved. @solarmystic , close it if you okay .

@solarmystic
Copy link
Contributor Author

Okay, Closing it since its fixed.

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

No branches or pull requests

3 participants