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

Lunar Silver Star Harmony - sprite issue on Galaxy S8+ #9645

Closed
ViRALiC opened this issue Apr 27, 2017 · 14 comments
Closed

Lunar Silver Star Harmony - sprite issue on Galaxy S8+ #9645

ViRALiC opened this issue Apr 27, 2017 · 14 comments

Comments

@ViRALiC
Copy link

ViRALiC commented Apr 27, 2017

The following issue only occurs on PPSSPP on my Android device (and only MY android device according to other sources).

I am using version 1.4-2-g647bc5d of PPSSPP, but have also tried it out on the "stable" 1.4 from the play store. I also attempted once with version 1.3.0.1 just to be sure I had the entire spectrum covered.

My device is a Samsung Galaxy S8+ running Android 7.0.

My sprite issue looks as follow: https://www.dropbox.com/s/z8w3hw0q9dfulq2/PPSSPP_2017-04-26-22-42-54.png

A more text-based description of my issue would be that some of the 2D sprites seems to be acting up. The biggest issue is the sprite in the middle of the screen which is clearly distorted and looks split in half.

The way this is suppose to look is as you can see around the 1:08 marker here: https://youtu.be/aGR6o6d2KTQ?t=68

My settings are always the default that the emulator comes with right out of the box, as my knowledge is rather limited and for most games it seems to work. The only alteration I've attempted is to turn off my "Vertex cache" as a friend of mine said that might help. It did not.

I have deleted the PSP folder multiple times, and done each installation of each version as "cleanly" as possible.

Please ask if there is any further information you need.

PS: Speed is just fine and as far as I can tell the game doesn't actually crash anywhere.

@hrydgard
Copy link
Owner

If you go to Settings / Tools / Developer Tools and switch the CPU backend to Interpreter, does things change? (other than getting slower..)

@ViRALiC
Copy link
Author

ViRALiC commented Apr 27, 2017

Thanks for the reply Henrik.

Sadly though, no, that did not change anything.

I also assumed you mean "CPU Core" when you say "CPU backend"? I set it to "Interpreter" and completely existed the application, the restared, made sure the setting was set then tried to boot the game normally without loading savestates or anything fancy like that, and the problem still prevailed.

I also tried the "IR Interpreter" in the same maner without anything changing (except the performance hit you talked about).

@hrydgard
Copy link
Owner

hrydgard commented Apr 27, 2017

Yes. Just trying to rule out causes, it could be an ARM64 jit bug for example, but now we know it's probably not. Thanks for testing that.

@ViRALiC
Copy link
Author

ViRALiC commented Apr 27, 2017

No worries mate.

I thought I'd be clever and see if I could get it all looking nice through Software Rendering, and then loading a savestate (I couldn't reach the point in the game where the sprite broke without the on-screen controls so it was the only way I could think of reaching said screen) to check, and to my surprise that did actually work and render the sprite correctly.

Of course the game's unplayable in Software Rendering as I have no on-screen controls and we're in the single-digits FPS-wise but maybe the fact that it worked in Software Rendering tells someone something.

@hrydgard
Copy link
Owner

hrydgard commented Apr 27, 2017

Yup, that tells us it's definitely not CPU emulation related, but a bug in the OpenGL renderer somewhere, or in the driver.

@ViRALiC
Copy link
Author

ViRALiC commented Apr 27, 2017

Oh, alright. Glad someone's getting wiser here because I'm certainly not (hehe!).

Is there anything more I should/could try to overcome this issue, or do I just cross my fingers and hope this bug gets squashed at some point?

If this is the last reply needed from me for this issue I just wanna' thank you for such a cool emulator man. That gold icon is totally worth the cash!

@hrydgard
Copy link
Owner

I'm getting an S8 soon (international version with Mali GPU) so if this is something specific to that one and affects more games I might figure it out, who knows.. Otherwise this seems like a tricky one. The other option is if you could test some even older versions to see if there's a version that doesn't have the problem - if so we might be able to narrow it doen.

@ViRALiC
Copy link
Author

ViRALiC commented Apr 27, 2017

I'll star pedaling back through the versions then and givr a nudge here if I find one without the issue.

(On an unrelated note the S8 is a great phone!)

@unknownbrackets
Copy link
Collaborator

FWIW, when it draws the character in the center (the one wrapping weirdly):

  • Drawn as 8 triangles (24 verts.)
  • Drawn in transform with float pos/uvs.
  • Alpha test > 0.
  • Alpha blend src.a / 1.0 - src.a.
  • Uses clamp for S and T.
  • Uses UV scale/offset.

When it draws the stretched portrait:

  • Drawn as a 4 vert triangle strip (so 2 triangles.)
  • Drawn in transform with float pos/uvs.
  • Alpha test > 0.
  • Alpha blend src.a / 1.0 - src.a.
  • Uses clamp for S and T.
  • Uses UV scale (0 offset.)

My guess: this is somehow UV scale/offset related? But I'll note that all of the characters (even the working ones) are drawn with UV scale/offset.

-[Unknown]

@brujo5
Copy link

brujo5 commented Apr 29, 2017

@hrydgard
I change my s8 exynos for the snapdragon variant.
Exynos Was to slow in emulation and no full ES 3.2 support
Lack this features and arm Mali devs don't care emulators
OES_base_vertex (required by 3.2) and EXT_buffer_storage

@hrydgard
Copy link
Owner

hrydgard commented Jun 2, 2017

This appears to also affect a speech bubble in LocoRoco. Strangely, only in OpenGL, not Vulkan. Pretty sure it's a driver bug.

@hrydgard hrydgard added this to the v1.6.0 milestone Dec 2, 2017
@hrydgard hrydgard changed the title Lunar Silver Star Harmony - sprite issue on android Lunar Silver Star Harmony - sprite issue on Galaxy S8+ Dec 2, 2017
@unknownbrackets
Copy link
Collaborator

Is anyone running the beta updates for Android 8.x? If yes, does it happen there? If no, I guess we should check in again after 8.0 or higher is released?

-[Unknown]

@unknownbrackets
Copy link
Collaborator

Does this still happen?

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Feb 12, 2018

My repro cases for this bug (a logo in ridge racer and a speech bubble in loco roco) are fixed now, so whether it was a driver bug or some other kind of bug we accidentally fixed with gl-render-manager, I'm closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants