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

Crazy Taxi: Fare Wars (EU version) hangs (edit: hacky workaround applied) #19894

Open
hrydgard opened this issue Jan 20, 2025 · 6 comments
Open
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@hrydgard
Copy link
Owner

hrydgard commented Jan 20, 2025

It broke sometime between 1.18.1 and now (just quickly tested it). Blank screen shortly after choosing CT1 or CT2.

It's recent but not within the latest batch of changes.

Might be GE related, getting a zero display list warning.

Needs bisection.

@hrydgard hrydgard added this to the v1.19.0 milestone Jan 20, 2025
@hrydgard
Copy link
Owner Author

hrydgard commented Jan 20, 2025

Culprit confirmed: 58eaa3b

Will fix soon. Although I suspect we're papering over a deeper bug...

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Jan 20, 2025
@hrydgard
Copy link
Owner Author

hrydgard commented Jan 20, 2025

The code has been reorganized since that change (to support "async" GPU breakpoints) but I think it kinda worked by accident before. We're trying to run a display list that's in PSP_GE_DL_STATE_NONE, which shouldn't be enqueued. So the fact that such a display list is in the queue is likely the issue. I can easily work around this by not executing such a display list, but will investigate a little more.

Wait, there seems to be more going on .. it only works if DEBUG logging is on for sceGe???? No, it's even more inconsistent :/

hrydgard added a commit that referenced this issue Jan 20, 2025
@hrydgard
Copy link
Owner Author

hrydgard commented Jan 20, 2025

Submitted a workaround that seems reliable and not too likely to break stuff. However this need deeper investigation, so I'm not closing.

@hrydgard hrydgard changed the title Crazy Taxi: Fare Wars (EU version) hangs Crazy Taxi: Fare Wars (EU version) hangs (edit: hacky workaround applied) Jan 20, 2025
@anr2me
Copy link
Collaborator

anr2me commented Jan 20, 2025

Those bad PC could also be due to corrupted (or uninitialized) data being passed, and the corruption might be happening somewhere else and unrelated to GE.

@hrydgard
Copy link
Owner Author

Sure, but I don't think that's what's happening here, I think it's a bug in our display list management somehow.

@sum2012
Copy link
Collaborator

sum2012 commented Jan 25, 2025

Maybe related to #18331

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

No branches or pull requests

3 participants