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

Crash: Mind over Mutant missing visible circle in digging #13886

Closed
Panderner opened this issue Jan 7, 2021 · 13 comments · Fixed by #16379
Closed

Crash: Mind over Mutant missing visible circle in digging #13886

Panderner opened this issue Jan 7, 2021 · 13 comments · Fixed by #16379
Labels
Adreno GPU GE emulation Backend-independent GPU issues Vulkan
Milestone

Comments

@Panderner
Copy link
Contributor

When I digging a hole using spinning in Crash: Mind over Mutant the visible circle is missing for Vulkan but not OpenGL.

OpenGL:
Screenshot_2021-01-07-10-25-12-985_org ppsspp ppsspp

Vulkan:
Screenshot_2021-01-07-10-25-20-925_org ppsspp ppsspp

GE dump:
ULUS10377_0001.ppdmp.zip

@UbiSergei
Copy link

Somewhere In Main Windiw UI:

Pixel 127..

@ghost
Copy link

ghost commented Jul 15, 2021

PPSSSPP latest development build
Redmi Note 9 Vulkan
Screenshot_2021-07-16-03-13-31-608_org ppsspp ppsspp

@ghost
Copy link

ghost commented Jul 15, 2021

@Panderner no feedback!?

@Panderner
Copy link
Contributor Author

Still occur in latest build. I'm using POCO M3

@ghost
Copy link

ghost commented Jul 16, 2021

So this is adreno gpu vulkan issue only

@Panderner
Copy link
Contributor Author

And yes it does not occur for my PC using Vulkan:
Ppsspp Screenshot 2021 07 16 - 13 53 56 91

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Jul 17, 2021
@hrydgard hrydgard added this to the v1.13.0 milestone Jul 17, 2021
@Panderner
Copy link
Contributor Author

This must be Adreno GPU specific

@hrydgard
Copy link
Owner

Probably yet another minor stencil/blending bug in the driver, sigh. Not sure we can do much about it.

@hrydgard hrydgard modified the milestones: v1.13.0, Future Jul 24, 2021
@unknownbrackets
Copy link
Collaborator

unknownbrackets commented Aug 7, 2021

The circle is drawn at 35/100 (as 90 verts for 30 TRIANGLES.) It uses:

  • Depth test (ALWAYS)
  • Stencil test (ALWAYS REPLACE 4C)
  • Depth write disable
  • Depth clamp
  • No texture
  • RGB masked

In other words, it should directly write 4C to stencil, and do nothing else. After that it does smaller circles that are the same: stencil=99, then stencil=e5.

After that, it uses alphablending with dst.a vs 1.0 - dst.a to draw only in the masked areas with bevel.

The Adreno bug we knew about was not being able to discard stencil when there's no depth. This bug seems different - it seems like alpha is failing to be written (maybe.) I'm also able to reproduce this issue on a Google Pixel that has the previous bug patched.

-[Unknown]

@hrydgard
Copy link
Owner

hrydgard commented Aug 7, 2021

s/directly write 4C to depth/directly write 4C to stencil right? (and yeah thus also to alpha, because of how we try to keep those in sync).

A lot of bugs in this area for sure... Seems they get a little aggressive with their optimizer when they see ALWAYS ?

It should be possible to make a test for this in the GPU testing thing in developer settings...

@hrydgard hrydgard modified the milestones: Future, v1.13.0 Aug 7, 2021
@unknownbrackets
Copy link
Collaborator

Oops, yes. I agree. Luckily, this is a fairly simple frame dump and a simple draw.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

Just an update: this is also an issue on an Adreno 620 with the latest Android updates.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

This was also coming from the #10421 workaround, and works with the changes in #16379 (at least the frame dump.)

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Adreno GPU GE emulation Backend-independent GPU issues Vulkan
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants