Emulator Issues #7442
closedMario Power Tennis black line due to missing vertex skipping emulation
0%
Description
Game Name?
Mario Power Tennis
Game ID?
GOMP01
What's the problem? Describe what went wrong in few words.
Trere is a black line on tennis court
What did you expect to happen instead?
No glitchy artifacts
What steps will reproduce the problem?
I tried with all possible configurations(OpenGl-Directx-efb>texture-efb>ra, and etc....) but when i play the game on Peach Dome Court,Peach Clay Court,Peach Dome Grass Court there is an oblique black line
Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
4.0-2005
Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
4.0-548
What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
Windows 7 64 bit, i3 3320 @3.30 GHz, Ati Radeon HD 4850 1gb
Are you using the 32 or the 64 bit version of Dolphin?
64 bit
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
http://imgur.com/vA6lp1W
Updated by florian98.rg over 10 years ago
4.0-548 -> https://github.com/dolphin-emu/dolphin/commit/42217fbd755d88b461db9f9eecfb568e50167d54
However I doubt this revision broke the game. Could you try using versions inbetween to find out what revision really broke it?
Updated by DanixDoratos over 10 years ago
Ok,I download all build of dolphin and it work correctly up to version 4.0 618.
After with version 4.0-619(in the description "VertexLoader: don't check for possible range") and all other there is this issue
Updated by JMC4789 over 10 years ago
- Status changed from New to Accepted
- Regression set to Yes
- Milestone set to Current
- Category set to gfx
- Priority set to High
Confirmed.
Updated by degasus over 10 years ago
Sounds like the magic -1 attribute index. But I doubt the old implementation is better. It's more likely that the complete vertex will be skipped.
Updated by degasus over 10 years ago
Yeah, it did. The old code just hide this issue and was only working because it's the last vertex in mario tennis. Honestly, vertex skipping is quite hard with out current vertex loader design :/
Updated by NeoBrainX over 10 years ago
As a small summary of what's going on: The issue in this game seems to be that the index passed for the position vertex attribute is -1, which triggers special hardware behavior for skipping the current vertex and fetching the next one instead for the current primitive.
We currently ignore this feature and (I guess) grab invalid data instead of skipping the vertex.
I don't know what's so hard to implement about it in the current vertex loader design, but otoh I also haven't looked into the issue in much detail.
Updated by NeoBrainX over 10 years ago
By the way, chances are I got the expected behavior more or less wrong. In any case a proper fix should also provide a hwtest to show that the implementation indeed reproduces hardware behavior.
Updated by JMC4789 about 10 years ago
I think this is easy enough to do that we can keep this milestone current. Is anyone willing to tackle it? IF not, I'll move it to next.
Updated by NeoBrainX about 10 years ago
- Milestone deleted (
Current)
There's no point in having this as a milestone for a release at all, actually.
Updated by degasus about 10 years ago
but it's easy to hack in a fix:
if(index == -1) output = NaN;
Updated by JMC4789 about 10 years ago
Can we do some kind of simple hardware test to at least verify this?
Updated by degasus about 10 years ago
A revert of this regression is on https://github.com/dolphin-emu/dolphin/pull/1269