Project

General

Profile

Actions

Emulator Issues #6834

closed

"Failed to compile pixel shader!" using latest rev (da3eef1019fb) on Mesa drivers

Added by seele over 10 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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

Actions #1

Updated by parlane over 10 years ago

post the contents of /home/evan/.dolphin-emu/Dump/bad_ps_0000.txt along with this error message at the forums.

Actions #2

Updated by parlane over 10 years ago

Or just pastie the full file ?

Actions #3

Updated by seele over 10 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.

Actions #4

Updated by Sonicadvance1 over 10 years ago

You don't actually have rev da3eef1019fb in that case, since da3eef1019fb removed all instances of this error.

Actions #5

Updated by seele over 10 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.

Actions #6

Updated by parlane over 10 years ago

Again.. do what the error says facepalm

Actions #7

Updated by parlane over 10 years ago

post the contents of /home/evan/.dolphin-emu/Dump/bad_ps_0000.txt

Actions #8

Updated by Sonicadvance1 over 10 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.

Actions #9

Updated by degasus over 10 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.

Actions #10

Updated by degasus over 10 years ago

  • Status changed from New to Accepted
Actions #11

Updated by degasus over 10 years ago

  • Status changed from Accepted to Fixed

fixed in 42619c1d2dfd

Actions

Also available in: Atom PDF