Jump to content

[FIXED] shader program compilation error


Recommended Posts

I have old geforce 7800 inspiron e1705 laptop. On which I have archlinux with nouveau & mesa drivers.

I get the below error when i use the debug build

Error: failed to compile this fragment program:
DCL CONST[4..13]
IMM[0] FLT32 { 0.1250, 2.0000, 0.8000, 0.1000}
IMM[1] FLT32 { 7.5000, -0.5000, 0.0000, 1.0000}
IMM[2] FLT32 {16384.0000, 4098.0000, -1.0000, 4094.0000}
IMM[3] FLT32 { 0.0025, 0.0500, 0.9990, 0.0010}
IMM[4] FLT32 { 0.3333, 7.0000, 0.5000, 300.0000}
IMM[5] FLT32 { 0.2000, 0.0300, 8.0000, 100.0000}
IMM[6] FLT32 { 450.0000, 1.5000, 0.2500, 1.0500}
IMM[7] FLT32 { 1.3333, 1.4427, 5.0000, 0.0000}
0: MOV TEMP[0], IN[0]
1: MAD TEMP[0].y, IN[0], CONST[19].zzzz, CONST[19].wwww
2: MUL TEMP[1].x, CONST[4].xxxx, IMM[0].xxxx
3: MOV TEMP[2].xyz, -CONST[0].xyzx
4: ADD TEMP[3].xyz, CONST[2].xyzz, -IN[5].xyzz
5: DP3 TEMP[4].x, TEMP[3].xyzz, TEMP[3].xyzz
6: RSQ TEMP[4].x, TEMP[4].xxxx
7: MUL TEMP[3].xyz, TEMP[3].xyzz, TEMP[4].xxxx
8: ADD TEMP[4].xyz, TEMP[2].xyzz, TEMP[3].xyzz
9: MUL TEMP[5].x, CONST[4].xxxx, IMM[0].wwww
10: LRP TEMP[5].x, TEMP[5].xxxx, IMM[0].zzzz, IMM[0].yyyy
11: MAD TEMP[5].xy, IN[1].xyyy, TEMP[5].xxxx, IN[1].zwww
12: MOV TEMP[5].xy, TEMP[5].xyyy
13: TEX TEMP[5].xyz, TEMP[5], SAMP[1], 2D
14: MUL TEMP[6].x, CONST[4].xxxx, IMM[0].wwww
15: LRP TEMP[6].x, TEMP[6].xxxx, IMM[0].zzzz, IMM[0].yyyy
16: MAD TEMP[6].xy, IN[1].xyyy, TEMP[6].xxxx, IN[1].zwww
17: MOV TEMP[6].xy, TEMP[6].xyyy
18: TEX TEMP[6].xyz, TEMP[6], SAMP[2], 2D
19: MUL TEMP[7].x, IMM[1].xxxx, CONST[13].xxxx
20: FRC TEMP[7].x, TEMP[7].xxxx
21: LRP TEMP[5].xyz, TEMP[7].xxxx, TEMP[6].xzyy, TEMP[5].xzyy
22: ADD TEMP[5].xyz, TEMP[5].xyzz, IMM[1].yyyy
23: DP3 TEMP[6].x, TEMP[5].xyzz, TEMP[5].xyzz
24: RSQ TEMP[6].x, TEMP[6].xxxx
25: MUL TEMP[5].xyz, TEMP[5].xyzz, TEMP[6].xxxx
26: LRP TEMP[6].xyz, TEMP[1].xxxx, TEMP[5].xyzz, IMM[1].zwzz
27: MAD TEMP[7].x, IMM[0].yyyy, TEMP[0].zzzz, IMM[2].zzzz
28: MUL TEMP[7].x, TEMP[7].xxxx, IMM[2].wwww
29: ADD TEMP[7].x, IMM[2].yyyy, -TEMP[7].xxxx
30: RCP TEMP[7].x, TEMP[7].xxxx
31: MUL TEMP[7].x, IMM[2].xxxx, TEMP[7].xxxx
32: RCP TEMP[8].x, CONST[12].xxxx
33: RCP TEMP[8].y, CONST[12].yyyy
34: MUL TEMP[8].xy, TEMP[0].xyyy, TEMP[8].xyyy
35: MOV TEMP[8].xy, TEMP[8].xyyy
36: TEX TEMP[8].x, TEMP[8], SAMP[5], 2D
37: RCP TEMP[9].x, CONST[12].xxxx
38: RCP TEMP[9].y, CONST[12].yyyy
39: MAD TEMP[10].x, IMM[0].yyyy, TEMP[8].xxxx, IMM[2].zzzz
40: MUL TEMP[10].x, TEMP[10].xxxx, IMM[2].wwww
41: ADD TEMP[10].x, IMM[2].yyyy, -TEMP[10].xxxx
42: RCP TEMP[10].x, TEMP[10].xxxx
43: MAD TEMP[10].x, IMM[2].xxxx, TEMP[10].xxxx, -TEMP[7].xxxx
44: MUL TEMP[10].x, TEMP[10].xxxx, IMM[3].xxxx
45: MIN TEMP[10].x, TEMP[10].xxxx, IMM[3].yyyy
46: MAX TEMP[10].x, TEMP[10].xxxx, IMM[1].zzzz
47: MUL TEMP[10].xy, TEMP[6].xzzz, TEMP[10].xxxx
48: MAD TEMP[9].xy, TEMP[0].xyyy, TEMP[9].xyyy, -TEMP[10].xyyy
49: MIN TEMP[9].xy, TEMP[9].xyyy, IMM[3].zzzz
50: MAX TEMP[9].xy, TEMP[9].xyyy, IMM[3].wwww
51: MOV TEMP[9].xy, TEMP[9].xyyy
52: TEX TEMP[9].x, TEMP[9], SAMP[5], 2D
53: SLT TEMP[10].x, TEMP[9].xxxx, TEMP[8].xxxx
54: CMP TEMP[8].x, -TEMP[10].xxxx, TEMP[8].xxxx, TEMP[9].xxxx
55: MAD TEMP[8].x, IMM[0].yyyy, TEMP[8].xxxx, IMM[2].zzzz
56: MUL TEMP[8].x, TEMP[8].xxxx, IMM[2].wwww
57: ADD TEMP[8].x, IMM[2].yyyy, -TEMP[8].xxxx
58: RCP TEMP[8].x, TEMP[8].xxxx
59: MAD TEMP[7].x, IMM[2].xxxx, TEMP[8].xxxx, -TEMP[7].xxxx
60: MUL TEMP[8].x, TEMP[7].xxxx, IMM[4].xxxx
61: MIN TEMP[8].x, TEMP[8].xxxx, IMM[4].yyyy
62: MAX TEMP[8].x, TEMP[8].xxxx, IMM[1].zzzz
63: MUL TEMP[9].xy, TEMP[6].xzzz, TEMP[8].xxxx
64: MAD TEMP[9].xy, IMM[4].zzzz, IN[3].xyyy, -TEMP[9].xyyy
65: RCP TEMP[10].x, IN[3].wwww
66: MAD_SAT TEMP[9].xy, TEMP[9].xyyy, TEMP[10].xxxx, IMM[4].zzzz
67: MOV TEMP[9].xy, TEMP[9].xyyy
68: TEX TEMP[9].xyz, TEMP[9], SAMP[4], 2D
69: POW TEMP[10].x, CONST[6].xxxx, IMM[5].xxxx
70: LRP TEMP[10].x, TEMP[10].xxxx, IMM[1].wwww, IMM[4].wwww
71: RCP TEMP[10].x, TEMP[10].xxxx
72: MUL_SAT TEMP[10].x, TEMP[7].xxxx, TEMP[10].xxxx
73: ADD TEMP[10].x, IMM[1].wwww, -TEMP[10].xxxx
74: MOV TEMP[11].xy, IN[4].xyyy
75: TEX TEMP[11].w, TEMP[11], SAMP[0], 2D
76: SLT TEMP[12].x, TEMP[11].wwww, IMM[5].yyyy
77: ADD TEMP[12].x, -TEMP[12].xxxx, IMM[1].wwww
78: CMP TEMP[11].x, -TEMP[12].xxxx, TEMP[11].wwww, IMM[1].zzzz
79: RCP TEMP[12].x, TEMP[0].wwww
80: MUL TEMP[12].x, TEMP[0].zzzz, TEMP[12].xxxx
81: MUL TEMP[1].x, TEMP[1].xxxx, TEMP[3].yyyy
82: MUL TEMP[1].x, TEMP[1].xxxx, IMM[5].zzzz
83: MIN TEMP[1].x, TEMP[1].xxxx, IMM[1].wwww
84: MAX TEMP[1].x, TEMP[1].xxxx, IMM[3].yyyy
85: LRP TEMP[1].xyz, TEMP[1].xxxx, TEMP[5].xyzz, IMM[1].zwzz
86: DP3 TEMP[5].x, TEMP[4].xyzz, TEMP[4].xyzz
87: RSQ TEMP[5].x, TEMP[5].xxxx
88: MUL TEMP[4].xyz, TEMP[4].xyzz, TEMP[5].xxxx
89: DP3 TEMP[1].x, TEMP[1].xyzz, TEMP[4].xyzz
90: MUL TEMP[4].x, TEMP[3].yyyy, IMM[0].yyyy
91: LRP TEMP[4].x, TEMP[4].xxxx, IMM[6].xxxx, IMM[5].wwww
92: POW TEMP[1].x, TEMP[1].xxxx, TEMP[4].xxxx
93: MUL TEMP[1].xyz, TEMP[1].xxxx, CONST[1].xyzz
94: MUL TEMP[4].xy, IMM[4].zzzz, IN[3].xyyy
95: RCP TEMP[5].x, IN[3].wwww
96: MAD TEMP[4].xy, TEMP[4].xyyy, TEMP[5].xxxx, IMM[4].zzzz
97: MOV TEMP[4].xy, TEMP[4].xyyy
98: TEX TEMP[4].xyz, TEMP[4], SAMP[4], 2D
99: DP3 TEMP[2].x, TEMP[6].xyzz, TEMP[2].xyzz
100: ADD TEMP[2].x, TEMP[2].xxxx, IMM[1].wwww
101: MAD TEMP[2].x, TEMP[2].xxxx, IMM[6].zzzz, IMM[4].zzzz
102: MUL TEMP[5].xyz, TEMP[9].xyzz, CONST[5].xyzz
103: MUL TEMP[13].x, TEMP[7].xxxx, CONST[6].xxxx
104: MUL_SAT TEMP[13].x, TEMP[13].xxxx, IMM[5].xxxx
105: LRP TEMP[5].xyz, TEMP[13].xxxx, TEMP[5].xyzz, TEMP[9].xyzz
106: MUL TEMP[9].x, TEMP[10].xxxx, TEMP[10].xxxx
107: LRP TEMP[5].xyz, TEMP[9].xxxx, TEMP[5].xyzz, CONST[9].xyzz
108: MUL TEMP[2].xyz, TEMP[2].xxxx, TEMP[5].xyzz
109: MUL TEMP[5].x, TEMP[8].xxxx, IMM[6].yyyy
110: MUL TEMP[8].xy, IMM[4].zzzz, IN[2].xyyy
111: MAD TEMP[5].xy, TEMP[5].xxxx, TEMP[6].xzzz, TEMP[8].xyyy
112: RCP TEMP[8].x, IN[2].wwww
113: MAD_SAT TEMP[5].xy, TEMP[5].xyyy, TEMP[8].xxxx, IMM[4].zzzz
114: MOV TEMP[5].xy, TEMP[5].xyyy
115: TEX TEMP[5].xyz, TEMP[5], SAMP[3], 2D
116: MUL TEMP[8].xyz, CONST[1].xyzz, CONST[7].xyzz
117: LRP TEMP[5].xyz, CONST[8].xxxx, TEMP[8].xyzz, TEMP[5].xyzz
118: DP3_SAT TEMP[3].x, TEMP[6].xyzz, TEMP[3].xyzz
119: ADD TEMP[3].x, IMM[6].wwww, -TEMP[3].xxxx
120: POW TEMP[3].x, TEMP[3].xxxx, IMM[7].xxxx
121: LRP TEMP[2].xyz, TEMP[3].xxxx, TEMP[5].xyzz, TEMP[2].xyzz
122: MOV_SAT TEMP[3].x, TEMP[7].xxxx
123: LRP TEMP[2].xyz, TEMP[3].xxxx, TEMP[2].xyzz, TEMP[4].xyzz
124: MAD TEMP[1].xyz, TEMP[1].xyzz, IMM[6].yyyy, TEMP[2].xyzz
125: MUL TEMP[2].x, -CONST[11].xxxx, CONST[11].xxxx
126: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[12].xxxx
127: MUL TEMP[2].x, TEMP[2].xxxx, TEMP[12].xxxx
128: MUL TEMP[2].x, TEMP[2].xxxx, IMM[7].yyyy
129: EX2 TEMP[2].x, TEMP[2].xxxx
130: ADD TEMP[3].x, IMM[1].wwww, -CONST[11].yyyy
131: MAD_SAT TEMP[2].x, TEMP[2].xxxx, TEMP[3].xxxx, CONST[11].yyyy
132: LRP TEMP[1].xyz, TEMP[2].xxxx, TEMP[1].xyzz, CONST[10].xyzz
133: MUL TEMP[1].xyz, TEMP[1].xyzz, TEMP[11].xxxx
134: MUL TEMP[2].x, IMM[7].zzzz, CONST[6].xxxx
135: MUL_SAT TEMP[2].x, TEMP[7].xxxx, TEMP[2].xxxx
136: MOV TEMP[1].w, TEMP[2].xxxx
137: MOV OUT[0], TEMP[1]
138: END

probably something related to my card capabilities or the default config settings but still its worth looking into

Link to comment
Share on other sites

I get the following lines also if run like

$./pyrogenesis_dbg >p.log 2>e.log

ATTENTION: default value of option force_s3tc_enable overridden by environment.
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
after these above 3 lines continous message about the uncompilable fp.

Link to comment
Share on other sites

That's the fancy-water GLSL fragment shader, and the error message is coming from the Nouveau drivers. Not a very informative error message, though... It's not a complicated shader so a GeForce 7 ought to be able to handle it fine, as far as I can see. It might be best to report the error to the Nouveau developers, to see if they can work out why it's failing. (But update to the latest drivers first, in case it's already fixed.)

You can disable the fancy water effect by putting

in ~/.config/0ad/config/local.cfg which ought to work around that error.
Link to comment
Share on other sites

If you have some time and want to contribute you may want to try a development version of mesa from git (eventually using prebuilt packages, e.g. for Ubuntu see my signature, but you are likely not on Ubuntu?) and / or report the bug here: https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa so that a developer may have a chanche to fix it.

Link to comment
Share on other sites

I get the following lines also if run like

$./pyrogenesis_dbg >p.log 2>e.log

ATTENTION: default value of option force_s3tc_enable overridden by environment.

libpng warning: iCCP: known incorrect sRGB profile

libpng warning: iCCP: known incorrect sRGB profile

after these above 3 lines continous message about the uncompilable fp.

I’ve proceed to report it: http://trac.wildfiregames.com/ticket/2184

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...