Dolphin, the GameCube and Wii emulator - Forums

Full Version: Ubershaders problem with MacOS and Nvidia Graphic card
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

When activating ubershaders under Dolphin 5.0-5209 (macOS Sierra + OpenGL with Nvidia gtx 1070 + ubershaders whatever versions) it fails to load shaders. Any advice ? :

Failed to compile ps shader: /Users/XXXXXXX/Library/Application Support/Dolphin/Dump/bad_ps_0000.txt
Debug info (NVIDIA Corporation, NVIDIA GeForce GTX 1070 OpenGL Engine, 4.1 NVIDIA-10.18.5 378.05.05.25f01):
ERROR: 0:104: 'centroid', 'sample' and 'patch' must be directly followed by 'in', 'out' or 'varying'
ERROR: 0:395: Use of undeclared identifier 'colors_0'
ERROR: 0:395: Use of undeclared identifier 'colors_1'
ERROR: 0:396: Use of undeclared identifier 'colors_0'
ERROR: 0:396: Use of undeclared identifier 'colors_1'
ERROR: 0:397: Use of undeclared identifier 'colors_0'
ERROR: 0:397: Use of undeclared identifier 'colors_1'
ERROR: 0:398: Use of undeclared identifier 'colors_0'
ERROR: 0:398: Use of undeclared identifier 'colors_1'
ERROR: 0:402: Use of undeclared identifier 'color_A'
ERROR: 0:402: Use of undeclared identifier 'color_B'
ERROR: 0:402: Use of undeclared identifier 'color_C'
ERROR: 0:402: Use of undeclared identifier 'color_D'
ERROR: 0:407: Use of undeclared identifier 'color_A'
ERROR: 0:407: Use of undeclared identifier 'color_B'
ERROR: 0:407: Use of undeclared identifier 'color_C'
ERROR: 0:408: Use of undeclared identifier 'color_A'
ERROR: 0:408: Use of undeclared identifier 'color_B'
ERROR: 0:408: Use of undeclared identifier 'color_C'
ERROR: 0:409: Use of undeclared identifier 'color_A'
ERROR: 0:409: Use of undeclared identifier 'color_B'
ERROR: 0:409: Use of undeclared identifier 'color_C'
ERROR: 0:412: Use of undeclared identifier 'color_A'
ERROR: 0:412: Use of undeclared identifier 'color_B'
ERROR: 0:412: Use of undeclared identifier 'color_C'
ERROR: 0:413: Use of undeclared identifier 'color_A'
ERROR: 0:413: Use of undeclared identifier 'color_B'
ERROR: 0:413: Use of undeclared identifier 'color_C'
ERROR: 0:414: Use of undeclared identifier 'color_A'
ERROR: 0:414: Use of undeclared identifier 'color_B'
ERROR: 0:414: Use of undeclared identifier 'color_C'
ERROR: 0:417: Use of undeclared identifier 'color_A'
ERROR: 0:417: Use of undeclared identifier 'color_B'
ERROR: 0:417: Use of undeclared

Thanks.
What game/games does this happen in? I'm running OSX 10.12.6 with Nvidia web drivers 378.05.05.25f01 (same as you), and have no issues with Hybrid or exclusive Ubershaders (besides being slow, that is....) on my GTX 760 with Dolphin 5.0-5209
Thanks for your reply.

Only Mario Kart wii is working on my side.

The other games I have do not work with ubershaders : F-zero GX, Metroid prime Trilogy, new super Mario bros. wii and super Mario Galaxy 1.

All those games are working perfect on the windows side with same revision of Dolphin and same computer.

I will try with my GTX 660 which is natively supported by MacOS, maybe last web drivers have problems with Pascal graphic cards...

EDIT : No luck with GTX 660 and native OS X drivers. Tried with with my good old Core2Duo and same problem. There is something wrong with Dolphin MacOS version it seems.
It could be that the Cache of Dolphin shaders has a broken component, try deleting it and trying again.
(08-21-2017, 10:29 AM)KHg8m3r Wrote: [ -> ]It could be that the Cache of Dolphin shaders has a broken component, try deleting it and trying again.

That did the trick, many thanks mate !!

I deleted dolphin app + everything in application support related to Dolphin and did a fresh install. Now it is working fine. Again thanks !
In fact the the problem is anti-aliasing, when using it with ubershaders it will crash.
It's a bug in Apple's shader compiler in regards to the ordering of storage qualifiers on interface blocks in GLSL.
I reported this bug to Apple over a year ago.

They closed the bug as `Not an issue` and stated that it was a GLSL 4.20 feature and since they only support GLSL 4.10 it isn't their problem.
The person that closed the bug report didn't read the spec...It is clearly supported in GLSL 4.10. So it's just a bug in their shader compiler that they haven't fixed.
(08-22-2017, 02:56 AM)Sonicadvance1 Wrote: [ -> ]It's a bug in Apple's shader compiler in regards to the ordering of storage qualifiers on interface blocks in GLSL.
I reported this bug to Apple over a year ago.

They closed the bug as `Not an issue` and stated that it was a GLSL 4.20 feature and since they only support GLSL 4.10 it isn't their problem.
The person that closed the bug report didn't read the spec...It is clearly supported in GLSL 4.10. So it's just a bug in their shader compiler that they haven't fixed.

Thanks for the explanation, this makes sense. Shame on Apple... This is not the first I read such things.
I will stick with the Windows version, I cannot get full speed with the MacOS version even with all improvements set to low.

Great community here, continue your hard work ! 
Hopefully someday Apple will realize that they need to fix their OpenGL implementation.