JMC47, I don't think so for the intel driver, but it's worth a try
[SOLVED] Graphic glitches on D3D backend on Intel HD since Dolphin version 4.0-1288
|
05-07-2014, 11:30 PM
Weaker graphics cards tend to do worse on OGL, so, I'm probably wrong. Apologies for jumping to conclusions.
05-08-2014, 05:56 AM
(05-07-2014, 11:30 PM)JMC47 Wrote: Weaker graphics cards tend to do worse on OGL, so, I'm probably wrong. Don't know if this is generally as you said, but I do get lower framerates in SMG1/2 (which seem to be highly GPU-intensive) on OGL than D3D. Another point for NSMB is, that on my machine, the only way I've managed to get a silky smooth motion in levels is to use D3D and Vsync. Other options cause microstuttering, though FPS shows 59-60. And one point, that might deserve a new topic on its own: in SMG 1, Water in Loopdeloop galaxy renders Black and non-transparent, so that it feels like oilsurfing. This might be reported (or not), but I'd guess it has something to do Intel HD's less-than-perfect OpenGL support. I probably should do a fifolog and see if it reproduces on my other Radeon machine, just noticed this a few days ago and I haven't had time.
So... I just didn't want to leave the issue as it is, since Git and open source makes it possible, that even a person like me with (int previouscplusplusexperience = 0) can try to fix things. The issue might get fixed with new Intel HD drivers, but the updates take waaay too long and it might never get fixed. So I made a repository of my own, it is found at CHANGED, SEE EDIT BELOW. I sort of reverted the old TEV lerping in to the new cleaned up code, after figuring out how the code was built. Kind of backwards-learning C++. Fun, but frustrating at times and trial-and-error-based.
The build works now so, that the user _MUST MANUALLY_ write in gameini next lines: [Video_Hacks] OldTEVLerpOnD3D = True The fix is then only used, when D3D is selected (which was only affected). During testing I noticed that the glitches _will prevail_ if ShaderCache isn't deleted after setting the option for the specific game. But it works after that. Below is the latest build with the fix applied. I will keep my local repository up to date, but cannot guarantee that the public repository has all the latest merges included. Unless some dev sees this hack reasonable enough so that I'd make a pull request to master. But I have understood that this kind of hacks are not for master build, that tries looks forward, not backwards (and I understand this, completely). Feel free to copy and refine this! I use gameini's, so a GUI option isn't included (might cause collisions with future GUI merges), but it would be quite easy to implement. For example. https://dl.dropboxusercontent.com/u/2361...0-1574.zip This topic could be marked as solved. Hooray! EDIT: I got my remote fork and branches on GitHub sorted out, figured that it's not smart to have the master branch edited. Instead I have a dolphin -repository, that has a branch named oldtevlerp , that includes a commented single commit for the hack. So the new address for the repository is https://github.com/TurboK234/dolphin/tree/oldtevlerp . It is updated to today's (May 21st 2014) dolphin-emu/dolphin (master).
you can try this
http://pastebin.com/2Mni827V and should fix it for intel and still work for all platforms
Some time has passed, and a lot has happened both for Dolphin in general (amazing work, thank you team!) and for this issue with Intel drivers + D3D backend -> glitches on some games.
The glitches can be seen on several games. Some are subtle grey pixels in the background, some are rainbow-colored shining and flashing in the foreground. A short list to give an example: * Donkey Kong Country Returns: Very apparent bright pixels on most objects * New Super Mario Bros Wii: Random objects / scenery elements have many glitchy pixels / parts, most objects are unaffected. * Super Mario Galaxy 1 & 2 : Stars in level selection screen and in-level show glitchy "shine" * Mario Kart Wii: Background trophy in level selection screen has grey subtle but clearly wrong pixels. The issue has been extensively discussed in Dolphin issue tracker (Issue N:o 7167) and GitHub (Pull Request N:o #509 at https://github.com/dolphin-emu/dolphin/pull/509 ). Magumagu found out that even the new TEV formula works, if certain operation is replaced with another type of operation (bit shift >>7 to conditional ternary operation >= 128 ? 1 : 0). This is even more indicative that the Intel drivers are the reason for these glitches. There is a bug report for Intel at https://communities.intel.com/thread/52145 . As of 4th of August 2014, the latest official Intel drivers (version 15.33.22.3621) have not fixed the issue. Nor has Intel forum support given any message that they know what's going on. Dolphin team discussed this in IRC, and they decided that the fix should not be included in Dolphin's code, the reasons for this decision are well explained at GitHub pull request. I respect the decision. So now there are these options for Intel HD users: * Use an outdated version of Dolphin (pre 4.0-1288) * Live with the glitches (and wait for Intel to fix the drivers) * Get a dedicated GPU and never worry about this again * Use the fix, that is known but won't be in Dolphin master builds (and wait for Intel to fix the drivers). I chose the last option, but that requires to install all the tools to build Win64 version of Dolphin. But as said, a LOT has happened, and to allow Intel HD users to enjoy glichless graphics and the latest version of Dolphin, I created a branch at GitHub, that is up to date (4th of August 2014). So you can enjoy exclusive fullscreen with D3D, lighting fix for SMG2 dark goombas and all the other great thing that have been included since 4.0-1288. I recommend reading the progress report. Simply amazing. The repository (won't be up to date afterwards): https://github.com/TurboK234/dolphin/tre..._Intel_Fix The build: https://dl.dropboxusercontent.com/u/2361...el_Fix.zip EDIT: There might be a severe bug regarding vertexloader in this build, didn't test it. Delroth fixed the bug since, and the repository above is updated to the latest master that includes the fix for it. Maybe I'll need to build a new x64 version later when I have the time... EDIT2: Updated the build to 4.0-2448 . EDIT3 (09-01-2014): Updated to the latest build 4.0-2849, since there has been HUGE speed improvements in Dolphin recently. The public repository is also updated. 09-07-2014, 05:31 PM
UPDATE: Intel released new drivers for Haswell-based Intel HD hardware this week (version number 15.36.3.64.3907), and the new drivers have been confirmed to fix the graphics glitches issue this thread is about. This has been confirmed by me and other users.
While I'm very happy and relieved that this was solved the "right way" , it leaves users of older Intel HD hardware (i.e. Intel HD 3000/4000) without a fix. This was discussed on GitHub in the Pull Request that introduced the workaround. Neobrain was against the merge from the beginning, and now that this really was fixed by Intel, Delroth pointed out that if Intel itself is dropping support for its hardware it's not Dolphins job to do so, either. So the Pull Request n:o 509 was closed today. I agree with the decision, of course (easy for me since I have HD 4600). If someone still wants to apply the fix to their own builds they can always do it by their selves, and it's a rather easy copy-paste-thing to do, the biggest job is to install Microsoft Visual Studio. I intend keep the build in the last post available on Dropbox, but if you receive a "file not found" error (months from now) then I've obviously removed the build, for one reason or another. |
« Next Oldest | Next Newest »
|
Users browsing this thread: 2 Guest(s)