Emulator Issues #6834
closed"Failed to compile pixel shader!" using latest rev (da3eef1019fb) on Mesa drivers
0%
Description
This might not be a game issue or even a code issue, just me being stupid. Anyway...
I don't exactly care about having the latest and greatest AAA game graphics on my Linux partition so I figured that Mesa drivers ought to be enough for some GC/Wii games (correct me if I'm wrong). Plus I saw a commit that said it broke fglrx (672fa65ee76c) so I thought "Bah that thing was a pain in the ass anyway". so I switched over to ati-dri and compiled Dolphin. I tried running F-Zero GX (only game on hand at the moment, sorry) and I got the following error as soon as the game started:
Failed to compile pixel shader!
This usually happens when trying to use Dolphin with an outdated GPU or integrated GPU like the Intel GMA series.
If you're sure this is Dolphin's error anyway, post the contents of /home/evan/.dolphin-emu/Dump/bad_ps_0000.txt along with this error message at the forums.
Debug info (X.Org, Gallium 0.4 on AMD CYPRESS, 3.0 Mesa 9.2.3):
0:21(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting $end
Debug info shows that I'm using a graphics card clearly up to par (Radeon HD 5850) so what happened? I saw next to no warnings when creating a make file or when compiling. And I am using the X.org ati-dri package.
Output of lspci -k:
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cypress PRO [Radeon HD 5850]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0b00
Kernel driver in use: radeon
I tried an earlier revision from my package manager and graphics showed up just fine. Don't know exactly which rev but it said it was compiled Aug 12 2013.
other info:
CPU: Intel Core i5
OS: Linux 3.11.0-1
Distro: Manjaro
Updated by parlane almost 11 years ago
post the contents of /home/evan/.dolphin-emu/Dump/bad_ps_0000.txt along with this error message at the forums.
Updated by seele almost 11 years ago
well here's the whole file
I didn't try the forums because I thought maybe it was just some compile error but I guess I'll try that too.
Updated by Sonicadvance1 almost 11 years ago
You don't actually have rev da3eef1019fb in that case, since da3eef1019fb removed all instances of this error.
Updated by seele almost 11 years ago
oh you're right, I must've been believing it was the latest because I compiled today and didn't expect any more commits (for some reason...). An error (well more like a warning I guess) still pops up
Failed to compile pixel shader!
This usually happens when trying to use Dolphin with an outdated GPU or integrated GPU like the Intel GMA series.
If you're sure this is Dolphin's error anyway, post the contents of /home/evan/.dolphin-emu/Dump/bad_ps_0000.txt along with this error message at the forums.
Debug info (X.Org, Gallium 0.4 on AMD CYPRESS, 3.0 Mesa 9.2.3):
0:0(0): error: no matching function for call to `textureSize(sampler2DRect)'
0:0(0): error: candidates are: int textureSize(sampler1D, int)
0:0(0): error: int textureSize(isampler1D, int)
0:0(0): error: int textureSize(usampler1D, int)
0:0(0): error: ivec2 textureSize(sampler2D, int)
0:0(0): error: ivec2 textureSize(isampler2D, int)
0:0(0): error: ivec2 textureSize(usampler2D, int)
0:0(0): error: ivec3 textureSize(sampler3D, int)
0:0(0): error: ivec3 textureSize(isampler3D, int)
0:0(0): error: ivec3 textureSize(usampler3D, int)
0:0(0): error: ivec2 textureSize(samplerCube, int)
0:0(0): error: ivec2 textureSize(isamplerCube, int)
0:0(0): error: ivec2 textureSize(usamplerCube, int)
0:0(0): error: int textureSize(sampler1DShadow, int)
0:0(0): error: ivec2 textureSize(sampler2DShadow, int)
0:0(0): error: ivec2 textureSize(samplerCubeShadow, int)
0:0(0): error: ivec2 textureSize(sampler1DArray, int)
0:0(0): error: ivec2 textureSize(isampler1DArray, int)
0:0(0): error: ivec2 textureSize(usampler1DArray, int)
0:0(0): error: ivec3 textureSize(sampler2DArray, int)
0:0(0): error: ivec3 textureSize(isampler2DArray, int)
0:0(0): error: ivec3 textureSize(usampler2DArray, int)
0:0(0): error: ivec2 textureSize(sampler1DArrayShadow, int)
0:0(0): error: ivec3 textureSize(sampler2DArrayShadow, int)
0:0(0): error: no matc
BUT the game still plays just fine.
Updated by parlane almost 11 years ago
post the contents of /home/evan/.dolphin-emu/Dump/bad_ps_0000.txt
Updated by Sonicadvance1 almost 11 years ago
This error is something to do with your OSS video driver not providing the correct function for text_rect. I don't know enough about OSS drivers to even know who to report this to.
Updated by degasus almost 11 years ago
So, this seems to be because glsl130 doesn't have texture_rect - and texture_rect doesn't have any samplers in the glsl130 way.
So glsl130 + texture_rect aren't useful together.
The fix is either to use glsl140 (which mesa doesn't support on compatible contexts) or to remove any texture_rect usage. The second one is done on ogl-tex2d branch:
https://code.google.com/p/dolphin-emu/source/list?name=ogl-tex2d
I hope I'll be able to merge this branch soon.