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

Mini-Map in Z.H.P. Updates Incorrectly Without Software Rendering #14069

Closed
vencabot opened this issue Feb 7, 2021 · 6 comments · Fixed by #14076
Closed

Mini-Map in Z.H.P. Updates Incorrectly Without Software Rendering #14069

vencabot opened this issue Feb 7, 2021 · 6 comments · Fixed by #14076
Labels
GE emulation Backend-independent GPU issues
Milestone

Comments

@vencabot
Copy link

vencabot commented Feb 7, 2021

What happens?

In Z.H.P. Unlosing Ranger vs Darkdeath Evilman, a mini-map on the left side of the screen is constantly updated in dungeons as the player exercises tile-based movement on two available axis: north-south and east-west. When software-rendering is toggled, the mini-map updates as normal. When software-rendering isn't toggled, the mini-map only updates when the player character moves on the north-south axis and is static when he moves east-west, showing him in the incorrect position until he moves north-south again.

What hardware, operating system, and PPSSPP version? On desktop and mobile phone, GPU matters for graphical issues.

I'm on a fully updated Windows 10 installation, but this bug is also mentioned as being present on Android at https://www.reddit.com/r/EmulationOnAndroid/comments/k4pc4z/need_help_with_a_psp_game/ . I'm running the nightly build 1.10.3-g5babc1af2 but I also tested on the stable release of 1.10.3. Same issue. I'm running an NVIDIA GTX 1080 running driver 436.15 . The issue is present when rendering using both Vulkan and Direct3D 11.

I can provide a save-state upon request. I intend to upload footage of this bug in a day or two and will update this Issue with a YouTube link at that time.

If you have any suggestions, please let me know.

[EDIT]
@Panderner helped me create two GE dumps: one representing what the mini-map SHOULD look like at a particular position (software renderer) and one demonstrating the bug at the same position using the hardware renderer. I also uploaded a 3-minute video to YouTube demonstrating the issue.

Software renderer (good frame): https://drive.google.com/file/d/1tGtJg6qjhYHnp2wHbDsdbfpNPNjKerGd/view?usp=sharing
Hardware renderer (bad frame): https://drive.google.com/file/d/1RFylVHLEqBbXWLWxP4S1EMhubaqLmjT5/view?usp=sharing
Demonstrative video: https://www.youtube.com/watch?v=pqoAPQxV0GY
Savestate used in video: https://drive.google.com/file/d/1T0kJitKbOqYdRvoMy9Sbf9K43bGF3qo8/view?usp=sharing

@Panderner
Copy link
Contributor

@vencabot can you produce the GE dump?

@vencabot
Copy link
Author

vencabot commented Feb 7, 2021

@vencabot can you produce the GE dump?

I don't know what this means, but I'd be happy to with some instruction. My apologies, and thank you.

@Panderner
Copy link
Contributor

@vencabot can you produce the GE dump?

I don't know what this means, but I'd be happy to with some instruction. My apologies, and thank you.

https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump here

@vencabot
Copy link
Author

vencabot commented Feb 7, 2021

@vencabot can you produce the GE dump?

I don't know what this means, but I'd be happy to with some instruction. My apologies, and thank you.

https://github.com/hrydgard/ppsspp/wiki/How-to-create-a-frame-dump here

Thank you so much, @Panderner . Attached here are two GE dumps created using the instructions you linked. One is taken while running the Software Renderer, where the mini-map has updated as normal. The other is taken from the same in-game position but with hardware rendering, where the mini-map is incorrect. I've also attached an (unlisted) YouTube video demonstrating the problem. Please forgive my misspeaking "northeast" as "northwest" and forgive me for forgetting to hide my silly stream overlay (little bar on top).

Software renderer (good frame): https://drive.google.com/file/d/1tGtJg6qjhYHnp2wHbDsdbfpNPNjKerGd/view?usp=sharing
Hardware renderer (bad frame): https://drive.google.com/file/d/1RFylVHLEqBbXWLWxP4S1EMhubaqLmjT5/view?usp=sharing
Demonstrative video: https://www.youtube.com/watch?v=pqoAPQxV0GY
Savestate used in video: https://drive.google.com/file/d/1T0kJitKbOqYdRvoMy9Sbf9K43bGF3qo8/view?usp=sharing

@unknownbrackets
Copy link
Collaborator

The issue here is that the texture is just the right size, and the changes are just the right zero-sum, that these updates don't even register in the texture hash. We completely miss that the texture changed at all.

-[Unknown]

unknownbrackets added a commit to unknownbrackets/ppsspp that referenced this issue Feb 7, 2021
See hrydgard#14069, our texture hash misses this change.
@unknownbrackets unknownbrackets added this to the v1.12.0 milestone Feb 7, 2021
@vencabot
Copy link
Author

I apologize if this isn't appropriate for a thread like this, but as this issue has just closed I wanted to express my gratitude and admiration for you guys. Thank you for the assistance with producing the GE dumps. I'm shocked that the cause of the issue was identified so quickly. To have such a weird bug in a relatively obscure game be addressed in about a week is mind-blowing, and I'm not surprised that, this week having been my first experience with this emulator, I've found it so reliable, user-friendly, and empowering to use.

Thanks for the passion that you guys put into this project! The PSP is one of those consoles that didn't make as big of a mark in the west as it might've deserved, and I'm concerned that its library is at higher risk of being forgotten than some other modern platforms. Knowing that so much dedication is being given to this project is a relief insofar as games preservation is concerned!

Good luck with future development! Shutting up now.

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Feb 15, 2021
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.

4 participants