Emulator Issues #13136
closedVertex Explosion in Pocoyo Racing
0%
Description
Game Name?
Pocoyo Racing
Game ID? (right click the game in the game list, Properties, Info tab)
SPCPZS
MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)
8b30cbea7c2d906015e0da8629123305
What's the problem? Describe what went wrong.
Playing on the level "beach" (possibly others) will cause vertex explosions.
Select "Grand Prix"
Select "1 player"
Select "Configure"
Select any character (Pocoyo for example)
Select any car (Racing Car for example)
Select "Ocean" for environment
Select "Beach" for circuit
Select any difficulty (easy for example)
Select any number of stars (24 stars for example)
Press 2 when game loads (next)
When game loads vertex explosions will be visible
This can be seen here:
https://youtu.be/keKqhhaAYgU?t=369
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Yes, 5.0-18143
Is the issue present in the latest stable version?
Yes, 5.0
If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)
The issue started in 3.5-594 -> https://dolphin-emu.org/download/dev/8d5299c20b69f524b20a8d9451aaf754b36690cc/
If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer
[Attach any fifologs if possible, write a description of fifologs and screenshots here to assist people unfamiliar with the game.]
What are your PC specifications? (CPU, GPU, Operating System, more)
4790k
1060 6GB
Windows 10
16GB DDR3
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
Let me know, I'll see what else I can do.
Files
Updated by ZephyrSurfer almost 2 years ago
- File SPCPZS_5.0-18027.png SPCPZS_5.0-18027.png added
Updated by ZephyrSurfer almost 2 years ago
- File SPCPZS_5.0-18027.png SPCPZS_5.0-18027.png added
Updated by JMC4789 almost 2 years ago
- Status changed from New to Accepted
- Regression start set to 3.5-594
Updated by pokechu22 almost 2 years ago
- Regression changed from No to Yes
Can you upload a longer fifolog? This one only contains 1 frame of actual content (the first and last frames are it clearing the screen), and (possibly relatedly) the fifoplayer only is willing to loop it about 16 times before it stops drawing anything and only gives a green screen. A 9-frame-long one would probably work better.
This fifolog does appear to render correctly using the hardware fifoplayer (though it doesn't behave super well). The software vertex loader still produces vertex explosions.
Updated by ZephyrSurfer almost 2 years ago
Here's a 9 frame fifolog (recorded with default settings 5.0-18027). It looks like it displays correctly with "Store XFB Copies to Texture Only" Disabled or using 4.0 or 5.0 before hybrid XFB with XFB disabled.
I have used default settings to record it though. Is this one okay?
Updated by ZephyrSurfer almost 2 years ago
Or rather it doesn't look quite right currently. It's got a bit of an offset issue.
Updated by pokechu22 almost 2 years ago
Thanks, that one should work. The offsetting is weird (and seems to only happen on even frames, the ones that only consist of a copy), but things don't break if I leave the fifoplayer running, and I can change the object range and isolate just the flags (object 12) as long as I loop several frames of the fifolog.
Updated by pokechu22 almost 2 years ago
Object 12 includes this:
00049f87: PRIMITIVE GX_DRAW_TRIANGLES (2) (90) 65535 vertices 6 bytes/vertex 393210 total bytes
000a9f84: PRIMITIVE GX_DRAW_TRIANGLES (2) (90) 3681 vertices 6 bytes/vertex 22086 total bytes
65535 is the maximum value for the number of vertices, and also is divisible by 3 (21845 * 3). I'm guessing that this maximum value is causing issues. The actual vertex data does not use an index above 0x8000 (and in particular does not use 0xffff) so this isn't a primitive restart case, but instead the game just drawing a lot of stuff at once.
It seems like something in our vertex-handling code breaks with this. If I add if (num_vertices == 0xffff) num_vertices--;
to the start of OpcodeDecoder::RunCallback
's OnPrimitiveCommand
, the vertex explosions are fixed (though this probably results in one triangle somewhere being skipped).
Updated by pokechu22 almost 2 years ago
- Related to Emulator Issues #12786: My Fitness Coach - Missing FMVs XFB Issue added
Updated by pokechu22 almost 2 years ago
- Related to deleted (Emulator Issues #12786: My Fitness Coach - Missing FMVs XFB Issue)
Updated by pokechu22 almost 2 years ago
- Related to Emulator Issues #6135: Super Mario Sunshine Grass Broken by Vertex Loader Cleanup added
Updated by pokechu22 almost 2 years ago
- Related to Emulator Issues #10312: VertexManagerBase.cpp:95 E[Video]: Too little remaining index values. Use 32-bit or reset them on flush. (non-fatal) added
Updated by pokechu22 almost 2 years ago
- Status changed from Accepted to Fix pending
Should be fixed by https://github.com/dolphin-emu/dolphin/pull/11402.
Updated by pokechu22 almost 2 years ago
- Status changed from Fix pending to Fixed
- Fixed in set to 5.0-18171
Updated by pokechu22 10 months ago
- Related to Emulator Issues #13453: Trauma Team: Skeleton bug (Demons & Death mission) added