Code: Select all
======== Begin r520 neutral format pixel shader: 0 =============
Shader stats:
RS Instructions: 6
TEX Instructions: 9
ALU Instructions: 89
ALU Instruction slots: 89
CF Instructions: 5
Pix Size: 16
Highest Const: 16
Start Addr: 0
End Addr: 102
RS Instructions:
rs 00: r00.rg-- = txc00
rs 01: r01.rgb- = txc01
rs 02: r02.rgb- = txc02
rs 03: r03.rgb- = txc03
rs 04: r04.rgba = txc05
rs 05: r05.rgba = txc06
US Program:
0 tex 00 : r06.rgba = lookup(r00.rgrr, tex05)
1 tex 01 : r12.rgba = lookup(r00.rgrr, tex06)
2 tex 02 : r11.rgba = lookup(r00.rgrr, tex01) ign_unc
3 tex 03 : r16.rgba = lookup(r00.rgrr, tex04) ign_unc
4 tex 04 : r10.rgba = lookup(r00.rgrr, tex03) sem_wait sem_grab ign_unc
5 alu 00 rgb: r00.rg- = mad(r00.rg0.0, (+1.6000000E+01).aar, 0.0) sem_wait
alpha: r07.a = mad(r06.a, 1.0, neg(0.5))
6 alu 01 rgb: r06.r-- = dp3(r06.rgb, 1.0)
alpha: r01.a = ln2(c14.b)
7 tex 05 : r00.rgba = lookup(r00.rgrr, tex02) sem_wait sem_grab ign_unc
8 alu 02 rgb: r07.r-- = mad(r06.r0.00.0, c14.arr, neg(r06.0.50.00.0))
alpha: r01.a = mad(r01.a, r12.a, 0.0)
9 alu 03 rgb: r07.--b = mad((+2.5000000E-01).rra, 1.0, 0.0)
alpha: r02.a = rcp((+1.0000000E+01).a)
10 alu 04 rgb: r06.r-- = dp3(r07.rab, r07.rab)
alpha: r03.a = rsq(r16.a)
11 alu 05 rgb: r08.r-- = sop()
alpha: ex2(r01.a)
12 alu 06 pre: srcp.a = 1.0-2.0*r00.a
12 alu 06 rgb: r06.r-- = mad(neg(srcp.a0.00.0), c13.g0.00.0, 0.0)/2 sem_wait
alpha: r00.a = rsq(r06.r)
13 alu 07 rgb: r07.rgb = mad(r07.rab, r00.aaa, 0.0)
alpha: r00.a = mad(r01.b, r01.b, 0.0)
14 alu 08 rgb: r09.r-- = d2a(r01.rg0.0, r01.rg0.0, r00.rra)/2
alpha: mad(0.0, 0.0, 0.0)
15 alu 09 rgb: r03.rgb = mad(r03.rgb, r07.ggg, 0.0)
alpha: mad(0.0, 0.0, 0.0)
16 alu 10 rgb: r02.rgb = mad(r02.rgb, r07.rrr, r03.rgb)
alpha: mad(0.0, 0.0, 0.0)
17 alu 11 pre: srcp.rgb = c14.rgb-r09.rgb
17 alu 11 rgb: r13.rgb = mad(r01.rgb, srcp.rrr, 0.0)
alpha: mad(0.0, 0.0, 0.0)
18 alu 12 rgb: r02.rgb = mad(r13.rgb, r07.bbb, r02.rgb)
alpha: mad(0.0, 0.0, 0.0)
19 alu 13 rgb: r03.r-- = dp3(r02.rgb, r02.rgb)/2
alpha: mad(0.0, 0.0, 0.0)
20 alu 14 pre: srcp.rgb = r11.rgb+r11.rgb
20 alu 14 rgb: r01.--b = mad(neg(r11.0.00.0r), 1.0, srcp.0.00.0g)
alpha: mad(0.0, 0.0, 0.0)
21 alu 15 rgb: r01.rg- = mad(r11.rgb, 1.0, 0.0)
alpha: r01.a = mad(r11.a, 1.0, 0.0)
22 alu 16 pre: srcp.rgb = c14.rgb-r03.rgb
22 alu 16 rgb: r14.rgb = mad(r02.rgb, srcp.rrr, 0.0)
alpha: mad(0.0, 0.0, 0.0)
23 alu 17 rgb: r02.r-- = dp3(r01.rgb, r01.rgb)
alpha: r00.a = mad(r00.r, r14.b, 0.0)
24 alu 18 rgb: r11.r-- = d2a(r00.rr0.0, r14.rg0.0, r00.rra)*2
alpha: r00.a = mad(r02.r, c12.a, 0.0)
25 alu 19 rgb: r09.rgb = mad(r14.rgb, neg(r11.rrr), r00.rrr)
alpha: mad(0.0, 0.0, 0.0)
26 alu 20 pre: srcp.rgb = 1.0-c00.rgb
26 alu 20 rgb: r02.rgb = mad(r01.rgb, c00.bbb, 0.0)
alpha: r00.a = mad(r00.a, c00.b, srcp.b)
27 alu 21 pre: srcp.rgb = 1.0-2.0*r00.rgb
27 alu 21 rgb: r01.rgb = mad(neg(srcp.rgb), c13.ggg, 0.0)/2
alpha: mad(0.0, 0.0, 0.0)
28 alu 22 rgb: r12.rgb = mad(r12.rgb, r00.aaa, r01.rgb)
alpha: mad(0.0, 0.0, 0.0)
29 alu 23 pre: srcp.rgb = 1.0-c00.rgb
29 alu 23 rgb: r02.rgb = mad(r10.rgb, srcp.bbb, r02.rgb)
alpha: mad(0.0, 0.0, 0.0)
30 alu 24 pre: srcp.rgb = r08.rgb-r06.rgb
30 alu 24 rgb: r00.r-- = mad(srcp.r0.00.0, c15.g0.00.0, 0.0)
alpha: r00.a = mad(srcp.r, 1.0, c15.g)
31 alu 25 rgb: r10.rgb = mad(r16.rgb, r16.rgb, 0.0)
alpha: r00.a = rcp(r00.a)
32 alu 26 rgb: r15.rgb = mad(neg(r09.rgb), 1.0, 0.0)
alpha: r00.a = mad(r00.r, r00.a, 0.0)
33 alu 27 rgb: r03.rgb = mad(0.0, 1.0, 0.0)
alpha: r00.a = mad(r02.a, r00.a, 1.0)
34 alu 28 rgb: r06.r-- = mad(r16.arr, r03.arr, 0.0)
alpha: r00.a = rcp(r00.a)
35 alu 29 rgb: r07.r-- = mad(r16.arr, r16.arr, 0.0)
alpha: r00.a = mad(r00.a, c15.b, 0.0)
36 alu 30 pre: srcp.rgb = c07.rgb+c11.rgb
36 alu 30 rgb: alu_result_r(<) = mad(nab(srcp.r0.00.0), 1.0, 0.0)
alpha: r00.a = ln2(r00.a)
37 alu 31 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = mad(r00.a, c16.r, 0.0)
38 alu 32 rgb: r16.r-- = sop()
alpha: ex2(r00.a)
39 cf 00 : IF c (0x0f 0 JUMP NONE INCR INCR 0 0 56) ign_unc( alu(36): red lt )
40 alu 33 rgb: r00.r-- = dp3(r04.rgb, r04.rgb)
alpha: mad(0.0, 0.0, 0.0)
41 alu 34 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = rsq(r00.r)
42 alu 35 rgb: r04.rgb = mad(r04.rgb, r00.aaa, 0.0)
alpha: mad(0.0, 0.0, 0.0)
43 alu 36 rgb: r00.r-- = dp3(r13.rgb, r04.rgb)
alpha: r00.a = mad(r14.b, r04.b, 0.0)
44 alu 37 rgb: r00.-g- = mad(r00.0.0r0.0, c16.0.0g0.0, c16.0.0b0.0)
alpha: r01.a = mad(neg(r00.r), r00.r, 1.0)
45 alu 38 rgb: r04.r-- = clamped d2a(r14.rg0.0, r04.rg0.0, r00.rra)
alpha: r00.a = mad(r01.a, r01.a, 0.0)
46 alu 39 rgb: r04.rgb = mad(r04.rrr, c02.rgb, 0.0)
alpha: r00.a = mad(r00.a, r00.a, 0.0)
47 alu 40 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = clamped mad(neg(r00.r), r00.a, r00.g)
48 alu 41 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = clamped mad(neg(r00.a), 1.0, 1.0)
49 alu 42 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = mad(r00.a, r00.a, 0.0)
50 alu 43 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = mad(r00.a, r00.a, 0.0)
51 alu 44 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = clamped mad(neg(r00.a), r00.a, 1.0)
52 alu 45 rgb: r00.rgb = mad(r00.aaa, r04.aaa, 0.0)
alpha: mad(0.0, 0.0, 0.0)
53 alu 46 rgb: r08.rgb = mad(r04.rgb, r00.rgb, 0.0)
alpha: mad(0.0, 0.0, 0.0)
54 alu 47 rgb: r03.rgb = mad(c02.rgb, r00.rgb, 0.0)
alpha: mad(0.0, 0.0, 0.0)
55 cf 01 : ELSE (0x00 0 JUMP NONE NONE DECR 1 1 58)
56 alu 48 rgb: r08.rgb = mad(r03.rgb, 1.0, 0.0)
alpha: mad(0.0, 0.0, 0.0)
57 cf 02 : ENDIF (0x00 1 JUMP NONE DECR NONE 1 0 0)
58 alu 49 pre: srcp.rgb = c08.rgb+c11.rgb
58 alu 49 rgb: alu_result_r(<) = mad(nab(srcp.r0.00.0), 1.0, 0.0)
alpha: mad(0.0, 0.0, 0.0)
59 cf 03 : IF c (0x0f 0 JUMP NONE INCR NONE 0 0 76) ign_unc( alu(58): red lt )
60 alu 50 rgb: r00.r-- = dp3(r05.rgb, r05.rgb)
alpha: mad(0.0, 0.0, 0.0)
61 alu 51 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = rsq(r00.r)
62 alu 52 rgb: r05.rgb = mad(r05.rgb, r00.aaa, 0.0)
alpha: mad(0.0, 0.0, 0.0)
63 alu 53 rgb: r00.r-- = dp3(r13.rgb, r05.rgb)
alpha: r00.a = mad(r14.b, r05.b, 0.0)
64 alu 54 rgb: r00.--b = mad(r00.0.00.0r, c16.0.00.0g, c16.0.00.0b)
alpha: r01.a = mad(neg(r00.r), r00.r, 1.0)
65 alu 55 rgb: r05.r-- = clamped d2a(r14.rg0.0, r05.rg0.0, r00.rra)
alpha: r00.a = mad(r01.a, r01.a, 0.0)
66 alu 56 rgb: r05.rgb = mad(r05.rrr, c05.rgb, 0.0)
alpha: r00.a = mad(r00.a, r00.a, 0.0)
67 alu 57 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = clamped mad(neg(r00.r), r00.a, r00.b)
68 alu 58 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = clamped mad(neg(r00.a), 1.0, 1.0)
69 alu 59 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = mad(r00.a, r00.a, 0.0)
70 alu 60 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = mad(r00.a, r00.a, 0.0)
71 alu 61 rgb: mad(0.0, 0.0, 0.0)
alpha: r00.a = clamped mad(neg(r00.a), r00.a, 1.0)
72 alu 62 rgb: r00.rgb = mad(r00.aaa, r05.aaa, 0.0)
alpha: mad(0.0, 0.0, 0.0)
73 alu 63 rgb: r08.rgb = mad(r05.rgb, r00.rgb, r08.rgb)
alpha: mad(0.0, 0.0, 0.0)
74 alu 64 rgb: r03.rgb = mad(c05.rgb, r00.rgb, r03.rgb)
alpha: mad(0.0, 0.0, 0.0)
75 cf 04 : ENDIF (0x00 1 JUMP NONE DECR NONE 1 0 0)
76 alu 65 rgb: r00.rgb = mad(neg(r09.rgb), 1.0, 0.0)
alpha: r14.a = mad(c16.a, 1.0, 0.0)
77 alu 66 pre: srcp.a = 1.0-r12.a
77 alu 66 rgb: r01.rgb = mad(r02.rgb, 1.0, neg(r01.rgb))
alpha: r15.a = mad(srcp.a, (+7.0000000E+00).a, 0.5)
78 alu 67 rgb: r02.rgb = mad(r12.rgb, r07.rrr, 0.0)
alpha: r00.a = clamped mad(r11.r, 1.0, 0.0)/2
79 alu 68 rgb: r02.rgb = mad(r03.rgb, r02.rgb, 0.0)
alpha: r01.a = mad(r11.b, r11.a, 0.0)
80 tex 06 : r03.rgba = lookup(r00.rgbr, tex00) ign_unc
81 tex 07 : r04.rgba = lookup_lod(r14.rgba, tex00) ign_unc
82 tex 08 : r05.rgba = lookup_lod(r15.rgba, tex00) sem_wait sem_grab ign_unc
83 alu 69 pre: srcp.a = 1.0-r00.a
83 alu 69 rgb: r00.rgb = mad(r03.rgb, r03.aaa, 0.0) sem_wait
alpha: r00.a = mad(srcp.a, srcp.a, 0.0)
84 alu 70 rgb: r03.rgb = mad(r04.rgb, r04.aaa, 0.0)
alpha: r00.a = mad(r00.a, (+9.3750000E-01).a, (+6.2500000E-02).r)
85 alu 71 rgb: r04.rgb = mad(r05.rgb, r05.aaa, 0.0)
alpha: r00.a = max(r00.a, (+6.2500000E-02).a)
86 alu 72 rgb: r00.rgb = mad(r00.rgb, r00.rgb, 0.0)
alpha: r00.a = min(r00.a, 1.0)
87 alu 73 pre: srcp.rgb = 1.0-c00.rgb
87 alu 73 rgb: r05.rgb = mad(r16.aaa, r03.rgb, 0.0)
alpha: r02.a = mad(r11.b, srcp.b, 0.0)
88 alu 74 rgb: r04.rgb = mad(r04.rgb, r04.rgb, 0.0)
alpha: r00.a = mad(r00.a, r02.a, 0.0)
89 alu 75 rgb: r06.-g- = mad(r07.0.0rr, r16.0.0rr, 0.0)
alpha: r02.a = mad(r01.a, r00.a, 0.0)
90 alu 76 pre: srcp.a = 1.0-r00.a
90 alu 76 rgb: r07.rgb = mad(r06.rrr, srcp.aaa, 0.0)
alpha: r00.a = mad(neg(c00.b), 1.0, (+2.0000000E+00).a)/2
91 alu 77 rgb: r08.rgb = mad(r08.rgb, r07.rgb, 0.0)
alpha: r03.a = mad(r10.a, c00.r, 0.0)
92 alu 78 rgb: r07.rgb = mad(r08.rgb, r07.rgb, 0.0)
alpha: mad(0.0, 0.0, 0.0)
93 alu 79 rgb: r00.rgb = mad(r02.aaa, r00.rgb, 0.0)
alpha: mad(0.0, 0.0, 0.0)
94 alu 80 rgb: r03.rgb = mad(r03.rgb, r05.rgb, r07.rgb)
alpha: mad(0.0, 0.0, 0.0)
95 alu 81 pre: srcp.a = 1.0-r01.a
95 alu 81 rgb: r00.rgb = mad(r04.rgb, srcp.aaa, r00.rgb)
alpha: mad(0.0, 0.0, 0.0)
96 alu 82 rgb: r00.rgb = mad(r01.rgb, r03.rgb, r00.rgb)
alpha: mad(0.0, 0.0, 0.0)
97 alu 83 rgb: r00.rgb = mad(r06.ggg, r02.rgb, r00.rgb)
alpha: mad(0.0, 0.0, 0.0)
98 alu 84 rgb: r03.rgb = mad(r10.rgb, r00.aaa, r00.rgb)
alpha: mad(0.0, 0.0, 0.0)
99 alu 85 rgb: out3.rgb = mad(0.0, 1.0, 0.0)
alpha: out0.a = mad(r10.a, c00.g, 0.0)
100 alu 86 rgb: out0.rgb = mad(r03.aaa, r03.rgb, 0.0)
alpha: out3.a = mad(1.0, 1.0, 0.0)
101 alu 87 rgb: out2.rgb = mad(0.0, 1.0, 0.0)
alpha: out2.a = mad(1.0, 1.0, 0.0)
102 alu 88 rgb: out1.rgb = mad(0.0, 1.0, 0.0)
alpha: out1.a = mad(1.0, 1.0, 0.0) last
======== End r520 neutral format pixel shader =============
This is for a Radeon 1900 (R580) GPU. I'm not familiar with ATI GPU's and there's many to choose from; but just for an example. I've no idea why it compiles to like 140 instructions on a G70 but only to 102 on a Radeon.