-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Star Wars: The Clone Wars - Graphic glitch [Android/Windows] #12949
Comments
Hm, Mali and Intel, but not PowerVR? There's a screenshot - US version - that looks fine here on Mali-450: But there are bad looking screenshots here for one of the EUR version: Is this an issue that only happens on the European release? I wonder if it's attempting some depth buffering... -[Unknown] |
In the dump, everything is fine at first. Originally, it draws to 0x04000000 with depth at 0x04110000. At 11495/11702, it draws to a temp buffer at 0x00154000, a simple stretch. But then it draws with blend fixed ZERO + fixed ZERO and stencil REPLACE FF over that. So, forget that earlier draw. At 11527/11702, unsatisfied with the earlier waste of time, it stretches again. But this time it uses an alpha test to make sure it will not draw anything and this will also be a waste of time. But maybe in other scenes, stencil is used and would result in some more interesting effect. After doing some things that would probably result in bloom for the above, at 11598/11702 it textures from 0x0418c200. This is where things go wrong. Actually, 0x0418c200 should be within that 0x04154000 buffer it's been working so hard to keep blank. Specifically, it's at an offset of (128, 224). It later uses 0x04184200 which has the same problem (offset of (128, 192)...) We assume it's a mistake when it tries to access 224/272 of a buffer directly, with an X offset. Maybe we need to be smarter about that being drawn to immediately prior. -[Unknown] |
Nice breakdown Unknown, I'm tagging it for v1.11. I have some ideas in the back of my mind about a complete rework of GPU memory management, but it might be a pipe dream... |
Yeah, it's complex. I think we could potentially rely on the safeWidth and safeHeight to safely texture from this late in a buffer. -[Unknown] |
This issue is also related for all versions (except Europe version) of MotorStorm: Arctic Edge (#7552) |
I found a solution for this graphic glitch together with Star Wars: The Force Unleashed #9572 Just add "Star Wars: The Clone Wars" and "Star Wars: The Force Unleashed" game id to [Force04154000Download] compat.ini fix graphics issue of those two game, but the performance penalty is huge :( What can you say about this hrydgard? |
ULES01284 can reproduce this but ULES1285 doesn't. |
Right, this is all because we're avoiding writing everything back to RAM due to speed reasons. Software renderer probably looks fine, based on my above explanation. Maybe the safest thing, as much as I hate them, is a compat.ini hack that allows texturing from odd offsets in this game. -[Unknown] |
Could probably also be fixed by changing the heuristic a bit, but since we're in heuristic land anyway and close to a release, I feel this is the safest option. Also sneaks in a logspam reduction
Add a simple compat flag to workaround the Clone Wars issue, #12949
What happens?
Graphic glitch (pink overlay) in-game happen in all backends.
Try all versions (0.3-1.9.3 latest git build) encounter all the same problems.
What should happen?
No graphic glitch.
What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.
GE Dump: DUMP.zip
The text was updated successfully, but these errors were encountered: