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

Persona 3 Portable Lines in Tartarus transformation scene #12558

Closed
Panderner opened this issue Jan 11, 2020 · 11 comments · Fixed by #12695
Closed

Persona 3 Portable Lines in Tartarus transformation scene #12558

Panderner opened this issue Jan 11, 2020 · 11 comments · Fixed by #12695
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@Panderner
Copy link
Contributor

When I Saw a Tartarus transformation scene in 4/21 dark hour in P3P I saw these Lines In the Emulator but it does not appear in real PSP.

PPSSPP:
Screenshot_2020-01-11-16-19-48-96_2f85358b2198d26f8aca533d68bee793

Real PSP:
Screenshot_2020-01-11-16-20-10-92

@Panderner
Copy link
Contributor Author

Same happens in 1x Resolution
Screenshot_2020-01-12-06-20-38-56_2f85358b2198d26f8aca533d68bee793

@unknownbrackets
Copy link
Collaborator

Could you try exporting a GE frame dump? These help a lot.

See here for instructions - it's not hard and works on Android too:
https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump

You can zip that and then drag and drop it into a reply here.

-[Unknown]

@Panderner
Copy link
Contributor Author

DUMP.zip
Here.

@Panderner
Copy link
Contributor Author

Panderner commented Mar 4, 2020

Screenshot_2020-03-05-00-32-59-97_2f85358b2198d26f8aca533d68bee793
In software rendering the lines disappeared

@unknownbrackets
Copy link
Collaborator

That dump isn't of the correct scene?

image

A GE dump is like a screenshot. If you take it at the wrong time, it'll show the wrong thing.

-[Unknown]

@Panderner
Copy link
Contributor Author

Panderner commented Mar 7, 2020

That dump isn't of the correct scene?

image

A GE dump is like a screenshot. If you take it at the wrong time, it'll show the wrong thing.

-[Unknown]

No it's not a correct scene, like this:
Screenshot_2020-03-07-13-39-37-60_2f85358b2198d26f8aca533d68bee793
DUMP.ppdmp.zip

@unknownbrackets
Copy link
Collaborator

This is an antialias issue. It actually sets the texture to itself, but the UVs are garbage.

There are actually two incorrect sets of lines there. It should correctly look like this:

ULUS10512_#12558_persona3_lines

Software rendering isn't terrible, although you'll notice more aliasing on the rightmost object:

__testfailure

It uses GE_PRIM_LINES but skinning is not enabled, so our crummy heuristics in hardware don't skip it. If we did skip, it'd look like this (taken from the GE debugger before presenting, that's why it's darker):

image

A lot more aliasing in the same object, but certainly better than the lines. We could probably do what software does if we made a copy (like we already do for special blending modes.)

-[Unknown]

@unknownbrackets unknownbrackets added the GE emulation Backend-independent GPU issues label Mar 7, 2020
@Panderner
Copy link
Contributor Author

And this one too:
Screenshot_2020-03-07-17-51-55-54_2f85358b2198d26f8aca533d68bee793
Second dump.zip

@hrydgard hrydgard added this to the v1.10.0 milestone Mar 7, 2020
@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2020

We could always add a compat setting to kill off all AA lines...

What game was it that required us to not kill AA lines? I think we might want to either do the above or adjust our indeed pretty crummy heuristics. Echochrome, or something?

@hrydgard
Copy link
Owner

hrydgard commented Mar 8, 2020

Found the issue where @unknownbrackets did some good research on this in #6483 .

Possibly simply discard AA lines when texturing is enabled and the current framebuffer is bound as texture (and a few of the other modes are set right)?

@unknownbrackets
Copy link
Collaborator

This game is drawing the lines with:

  • tex func replace RGB
  • alpha test > 0
  • alpha blend src.a / inverse src.a
  • lighting enabled

I guess it must just be the lighting. I'll add some notes about echochrome to the other issue.

-[Unknown]

hrydgard added a commit that referenced this issue Mar 9, 2020
Should fix #12558, while keeping the other aa line issues also fixed.

Heuristic derived from discussions in #12558 and #6483.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GE emulation Backend-independent GPU issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants