Dolphin, the GameCube and Wii emulator - Forums

Full Version: [SOLVED] Graphic glitches on D3D backend on Intel HD since Dolphin version 4.0-1288
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I already have created an issue report on Google code, issue code 7167, please check that also ( https://code.google.com/p/dolphin-emu/issues/list ). JMC and Neobrain already commented on the problem. I still created this thread, for I was hoping that someone could verify that the problem exists (or is it just me?).

The problem seems to be reproducible ONLY with my Intel HD 4600 GPU when running the games with D3D backend. The problem isn't related to 1) graphics options (other than backend, that is) 2) Old Intel HD drivers (I have the latest 3/2014 drivers).

My CPU is i5-4670S.I have Windows 8.1 64 bit as my OS. The game dumps are PAL versions, that work fine before mentioned revision and on my other computer with AMD GPU.

So the problem is, that ever since version 4.0-1288 there's been small (1-4 pixels per glitch) multicolor glitches on particular objects of textures. I have only noticed these so far in New Super Mario Bros Wii and Mario Kart Wii, but I'd guess that they can be seen elsewhere also. What makes these glitches annoying and more visible is that they change just a bit on every frame, if the object moves. This makes some objects seem like they're covered with glitter.
These glitches can not be seen in revisions prior to 1288, and they are consistent after that. The revision included a lot of changes in pixel pipeline (but that's just as far as I'd even try to comprehend).

Here are some links to the pictures. You should be able to see them fairly easily, if they are there.

http://imgur.com/qEXWI8B (the ground)
http://imgur.com/g5uHGwY (the gifts)
http://imgur.com/svOdes3 (the trees)
http://imgur.com/vfm26mb (the cannon)
http://imgur.com/joB5u2r (the trophy)

So anyone with 64bit Windows (8.1? maybe it's the same with 8/7?) and a Haswell processor, can you verify these glitches?
This sounds like another graphical issue I ran into when they were testing the tev_fixes_new branch.
Do you have Per-pixel lighting enabled?

edit: nevermind, just saw in your post that you tried per-pixel lighting.
Just tested on 4.0-1350: the only PAL dump I have is for Pokemon XD. No issues there. Tried Super Smash Bros Brawl, Sonic Colors, and Kirby Return to Dreamland (NTSC versions), and no issues
Thank you KHg8m3r for the reply. I haven't noticed glitches in other games, either, and the Mario Kart "trophy" is also quite subtle, so only NSMB is pronouncly bugged for me.

There hasn't been many responses, and my initial post was a bit long, so I'll rephrase to make it simpler:

Anyone with Windows (preferably 64bit) installed on Haswell-pc and New Super Mario Bros Wii, could you please:

- download and extract any Dolphin revision including or after 4.0-1288 (pref 64-bit)
(- optional: create a blank portable.txt in the new dolphin main folder, so this will load default settings for everything and not mess up with general settings)
- launch Dolphin
- in graphics settings, change adapter to Intel HD and backend to D3D.
- launch New Super Mario Bros -game
- observe until the title screen changes to birthday party/kidnapping -scene
- reply if you see glitchy graphics. Mention also, if you had a PAL or NTSC -version of the game.
(04-13-2014, 11:09 PM)TurboK Wrote: [ -> ]Thank you KHg8m3r for the reply. I haven't noticed glitches in other games, either, and the Mario Kart "trophy" is also quite subtle, so only NSMB is pronouncly bugged for me.

There hasn't been many responses, and my initial post was a bit long, so I'll rephrase to make it simpler:

Anyone with Windows (preferably 64bit) installed on Haswell-pc and New Super Mario Bros Wii, could you please:

- download and extract any Dolphin revision including or after 4.0-1288 (pref 64-bit)
(- optional: create a blank portable.txt in the new dolphin main folder, so this will load default settings for everything and not mess up with general settings)
- launch Dolphin
- in graphics settings, change adapter to Intel HD and backend to D3D.
- launch New Super Mario Bros -game
- observe until the title screen changes to birthday party/kidnapping -scene
- reply if you see glitchy graphics. Mention also, if you had a PAL or NTSC -version of the game.

Also happens on my HD 4000 with new super mario bros wii pal
http://imgur.com/SLJW1zx
(04-13-2014, 11:15 PM)Porobu Wrote: [ -> ]Also happens on my HD 4000 with new super mario bros wii pal
http://imgur.com/SLJW1zx

Thank you! This pretty much confirms that there is an issue with Intel HD, which can not do something (accurately) that the current D3D backend asks it to do.

EDIT: Updated the issue report, JMC replied, please see issue tracker for further details. If / when (hopefully "when") the issue gets solved either with later Dolphin revisions or Intel driver updates, I'll update this thread.
As additional information, I found out that Donkey Kong Country Returns is affected even worse than NSMB, unfortunately. The scenery flickers so much that it's almost unplayable, or at least unenjoyable. Below are some screenshot links.

http://imgur.com/RwPNVuP
http://imgur.com/WlYucru
http://imgur.com/g8ZkDe9

For these games I wouldn't recommend using D3D with Intel HD with latest builds. Luckily these are games that do not "need" the latest advances so bad (like Zelda ucode HLE), so my solution ATM is to simply not use the latest builds when playing these. Or to use OpenGL should there be a game that really likes the latest post-4.0-1288 builds.
So... I there has been changes to TEV since the problem with D3D and Intel HD was reported with build 4.0-1288. Unfortunately the glitches are still there, and I have noticed them so far in New Super Mario Bros (very apparent), Conkey Kong County Returns (VERY apparent), Mario Kart Wii (subtle sparkling, around the background trophy) and also in Super Mario Galaxy 1/2 (most apparent in level selection screen, the selection star seems to be glowing with glitchy light.

I was curious about the code and the commit that causes this, so I started compiling on my own. The culprit is commit 4f82d6f7aff107d3cb941df111250c66aa9f5ea8 (" PixelShaderGen: Implement tev combiner lerping in a faster way which also reproduces hardware behavior perfectly." by NeoBrain). I compiled version 1279, then cherry-picked fdad95c055ad5274e3a0b053558fd76b1766243b ("PixelShaderGen: Cleanups and fixes for tev combiners. ") which runs fine and with no glitches. Cherry-picking then the mentioned culprit-commit brings the glitches in.
I tried to fiddle around with newer builds with no success so far.

So...
- Has anyone got any idea, what could be so troublesome for Intel HD in the present code? (Rounding etc?), fo specific fix?
- I can (now) implement fixes to the code, and I'm willing to try them out. It's just that I suck with C++, so I don't
have much ideas on my own. Maybe a workaraound that would use the old code? This wouldn't be merged in master,
of course.
- Or is waiting for new Intel drivers the only way to go? Really??
Is anti aliasing disabled?

I doubt this is because of rounding issues as the wrong pixels seems to have random colors. Maybe some bitwise operators are broken. Is the rendering of the OGL backend fine? But in the end, such issues sound like a broken shader compiler / code generator, so there is nothing we can do but to report this issue to intel.
I understand, this is reasonable.
AA is disabled (causes a big performance hit immediately) And yes, OpenGL renders fine, it's only D3D that's affected.

As said, this isn't something that ruins my dolphin-experience (4.0.1282 is good enough), but as Intel HD manages the software otherwise quite nicely (I do get slowdowns in SMG1/2, as anyone, but the most apparent "weakness" is that higher IR's are too much), it's hard to accept that such a small glitch prevents me from using the latest builds (at least for DKCR it's a dealbreaker). Well, at least I've learned to implement separate commits, so I can (maybe) build a Zelda ucode HLE improved version of 4.0.1282 Wink

Hopefully Intel discovers the real problem in the future!
...use OpenGL? It's faster at lower IRs anyway.
Pages: 1 2