OpenCores
URL https://opencores.org/ocsvn/theia_gpu/theia_gpu/trunk

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [beta_2.0/] [regressions/] [multi_core/] [code.list] - Blame information for rev 218

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 218 diegovalve
//List file created by theia_compile
2
//Make sure R0 has the appropiate values (0,1,2)
3
0:      8001 2400 0 0                                     //    8001900000000000        ADD R[0].x__ I(0) 0
4
1:      8001 2200 0 1                                     //    8001880000000001        ADD R[0]._y_ I(1) 0
5
2:      8001 2100 0 2                                     //    8001840000000002        ADD R[0].__z I(2) 0
6
//Disable multi-threading by default
7
3:      8001 2102 0 0                                     //    8001840800000000        ADD R[2].__z I(0) 0
8
//Make sure R3 (Frame Offset) is initialized to zero
9
4:      8001 2703 0 0                                     //    80019C0C00000000        ADD R[3].xyz I(0) 0
10
//r52  = 0x0000147a;
11
5:      8001 2734 0 147a                                  //    80019CD00000147A        ADD R[52].xyz I(147a) 0
12
//r57   = 0;
13
6:      1 739 a00 a00                                     //    00011CE414000A00        ADD R57.xyz R0.xxx R0.xxx
14
//r53  = 0xfff80000;
15
7:      8001 2735 7ffc 0                                  //    80019CD4FFF80000        ADD R[53].xyz I(fff80000) 0
16
//r53.z   = 0;
17
8:      1 135 a00 a00                                     //    000104D414000A00        ADD R53.__z R0.xxx R0.xxx
18
//r51 = (0,0x00040000,0x00020000);
19
9:      8001 2433 0 0                                     //    800190CC00000000        ADD R[51].x__ I(0) 0
20
10:     8001 2233 2 0                                     //    800188CC00040000        ADD R[51]._y_ I(40000) 0
21
11:     8001 2133 1 0                                     //    800184CC00020000        ADD R[51].__z I(20000) 0
22
//r56  = 2;
23
12:     1 738 a00 1400                                    //    00011CE014001400        ADD R56.xyz R0.xxx R0.zzz
24
//r55 = 2;
25
13:     1 737 a00 1400                                    //    00011CDC14001400        ADD R55.xyz R0.xxx R0.zzz
26
//r62 = 10;
27
14:     8001 273e 0 a                                     //    80019CF80000000A        ADD R[62].xyz I(a) 0
28
//r69 = (0x00050000, 0xfffa0000, 0x00000000 );
29
15:     8001 2445 2 10000                                 //    8001911400050000        ADD R[69].x__ I(50000) 0
30
16:     8001 2245 7ffd 0                                  //    80018914FFFA0000        ADD R[69]._y_ I(fffa0000) 0
31
17:     8001 2145 0 0                                     //    8001851400000000        ADD R[69].__z I(0) 0
32
//r68 = (0xfffb0000, 0xfffa0000,0x00000000 );
33
18:     8001 2444 7ffd 10000                              //    80019110FFFB0000        ADD R[68].x__ I(fffb0000) 0
34
19:     8001 2244 7ffd 0                                  //    80018910FFFA0000        ADD R[68]._y_ I(fffa0000) 0
35
20:     8001 2144 0 0                                     //    8001851000000000        ADD R[68].__z I(0) 0
36
//r60 = (0x00050000, 0x00040000,0x00000000 );
37
21:     8001 243c 2 10000                                 //    800190F000050000        ADD R[60].x__ I(50000) 0
38
22:     8001 223c 2 0                                     //    800188F000040000        ADD R[60]._y_ I(40000) 0
39
23:     8001 213c 0 0                                     //    800184F000000000        ADD R[60].__z I(0) 0
40
 
41
//main
42
//  if ( r55 == r56 )
43
24:     281 1e 37 1c038                                   //    02810078006FC038        ADD  @30.___ R55.xyz R56.-x-y-z
44
//   GenerateRay();
45
//store return address**
46
25:     8001 2402 0 1d                                    //    800190080000001D        ADD R[2].x__ I(1d) 0
47
//store current frame offset
48
26:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
49
//displace next frame offset by the number of auto variables in current frame
50
27:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
51
//call the function
52
28:     201 @GenerateRay 0 0                              //    201 @GenerateRay 0 0    ADD  @GenerateRay.___ R0.xyz R0.xyz
53
//   Hit = 0;
54
29:     1 270b a00 a00                                    //    00019C2C14000A00        ADD R[11+ offset].xyz R0.xxx R0.xxx
55
// Hit = CalculateBaricentricIntersection();
56
//store return address**
57
30:     8001 2402 0 22                                    //    8001900800000022        ADD R[2].x__ I(22) 0
58
//store current frame offset
59
31:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
60
//displace next frame offset by the number of auto variables in current frame
61
32:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
62
//call the function
63
33:     201 @CalculateBaricentricIntersection 0 0         //    201 @CalculateBaricentricIntersection 0 0       ADD  @CalculateBaricentricIntersection.___ R0.xyz R0.xyz
64
//grab the return value from the function
65
34:     1 270b 1 a00                                      //    00019C2C00020A00        ADD R[11+ offset].xyz R1.xyz R0.xxx
66
// r55--;
67
35:     1 737 37 1e100                                    //    00011CDC006FE100        ADD R55.xyz R55.xyz R0.-y-y-y
68
//  if ( r55 != 0 )
69
36:     241 27 37 1ca00                                   //    0241009C006FCA00        ADD  @39.___ R55.xyz R0.-x-x-x
70
//NOP
71
37:     0 0 0 0                                           //    0000000000000000        NOP R0.___ R0.xyz R0.xyz
72
//Set the Exit bit
73
38:     401 0 0 0                                         //    0401000000000000        ADD R0.___ R0.xyz R0.xyz
74
//  if (Hit != 0)
75
39:     241 1030 b 1ca00                                  //    024140C00017CA00        ADD  @48.___ R[11 + offset].xyz R0.-x-x-x
76
//  TextureCalculation();
77
//store return address**
78
40:     8001 2402 0 2c                                    //    800190080000002C        ADD R[2].x__ I(2c) 0
79
//store current frame offset
80
41:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
81
//displace next frame offset by the number of auto variables in current frame
82
42:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
83
//call the function
84
43:     201 @TextureCalculation 0 0                       //    201 @TextureCalculation 0 0     ADD  @TextureCalculation.___ R0.xyz R0.xyz
85
//  PrePixelShader();
86
//store return address**
87
44:     8001 2402 0 30                                    //    8001900800000030        ADD R[2].x__ I(30) 0
88
//store current frame offset
89
45:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
90
//displace next frame offset by the number of auto variables in current frame
91
46:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
92
//call the function
93
47:     201 @PrePixelShader 0 0                           //    201 @PrePixelShader 0 0 ADD  @PrePixelShader.___ R0.xyz R0.xyz
94
// PixelShader();
95
//store return address**
96
48:     8001 2402 0 34                                    //    8001900800000034        ADD R[2].x__ I(34) 0
97
//store current frame offset
98
49:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
99
//displace next frame offset by the number of auto variables in current frame
100
50:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
101
//call the function
102
51:     201 @PixelShader 0 0                              //    201 @PixelShader 0 0    ADD  @PixelShader.___ R0.xyz R0.xyz
103
// GenerateNextPixel();
104
//store return address**
105
52:     8001 2402 0 38                                    //    8001900800000038        ADD R[2].x__ I(38) 0
106
//store current frame offset
107
53:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
108
//displace next frame offset by the number of auto variables in current frame
109
54:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
110
//call the function
111
55:     201 @GenerateNextPixel 0 0                        //    201 @GenerateNextPixel 0 0      ADD  @GenerateNextPixel.___ R0.xyz R0.xyz
112
//Set the return value
113
56:     8001 2701 0 1                                     //    80019C0400000001        ADD R[1].xyz I(1) 0
114
//Restore previous function frame offset
115
57:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
116
//return from function
117
58:     8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
118
//NOP
119
59:     0 0 0 0                                           //    0000000000000000        NOP R0.___ R0.xyz R0.xyz
120
//Set the Exit bit
121
60:     401 0 0 0                                         //    0401000000000000        ADD R0.___ R0.xyz R0.xyz
122
//Restore previous function frame offset
123
61:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
124
 
125
//GenerateRay
126
//  UnnormalizedDirection = (r53 + r57 * r52  ) - r51;
127
62:     6003 270c 39 34                                   //    60039C3000720034        MUL (unscaled) R[12+ offset].xyz R57.xyz R52.xyz
128
63:     1 2f0d 35 c                                       //    0001BC34006A000C        ADD R[13+ offset].xyz R53.xyz R[12 + offset].xyz
129
64:     1 370b d 1c033                                    //    0001DC2C001BC033        ADD R[11+ offset].xyz R[13 + offset].xyz R51.-x-y-z
130
//  tmp = UnnormalizedDirection * UnnormalizedDirection;  //tmp = (x^2,y^2,z^2)
131
65:     6003 3f0a b b                                     //    6003FC280016000B        MUL (unscaled) R[10+ offset].xyz R[11 + offset].xyz R[11 + offset].xyz
132
//  r54 = UnnormalizedDirection / sqrt( tmp.xxx + tmp.yyy + tmp.zzz );
133
66:     1 3f0c a0a 210a                                   //    0001FC301414210A        ADD R[12+ offset].xyz R[10 + offset].xxx R[10 + offset].yyy
134
67:     1 3f0d c 140a                                     //    0001FC340018140A        ADD R[13+ offset].xyz R[12 + offset].xyz R[10 + offset].zzz
135
68:     4 370e d a00                                      //    0004DC38001A0A00        SQRT R[14+ offset].xyz R[13 + offset].xyz R0.xxx
136
69:     1002 1f36 b e                                     //    10027CD80016000E        DIV R54.xyz R[11 + offset].xyz (scaled) R[14 + offset].xyz
137
//Restore previous function frame offset
138
70:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
139
//return from function
140
71:     8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
141
//Restore previous function frame offset
142
72:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
143
 
144
//CalculateBaricentricIntersection
145
// r59 = 0;
146
73:     1 73b a00 a00                                     //    00011CEC14000A00        ADD R59.xyz R0.xxx R0.xxx
147
// T.y = 1;
148
74:     1 220d a00 2100                                   //    0001883414002100        ADD R[13+ offset]._y_ R0.xxx R0.yyy
149
// E1 = r69 - r68;
150
75:     1 270f 45 1c044                                   //    00019C3C008BC044        ADD R[15+ offset].xyz R69.xyz R68.-x-y-z
151
// E2 = r60 - r68;
152
76:     1 270e 3c 1c044                                   //    00019C380079C044        ADD R[14+ offset].xyz R60.xyz R68.-x-y-z
153
// T = r51 - r68;
154
77:     1 270d 33 1c044                                   //    00019C340067C044        ADD R[13+ offset].xyz R51.xyz R68.-x-y-z
155
//      R47 = r54.yzx * E2.zxy;
156
78:     6003 f2f 2636 190e                                //    60033CBC4C6C190E        MUL (unscaled) R47.xyz R54.yzx R[14 + offset].zxy
157
//      R48 = r54.zxy * E2.yzx;
158
79:     6003 f30 1936 260e                                //    60033CC0326C260E        MUL (unscaled) R48.xyz R54.zxy R[14 + offset].yzx
159
//      P = R47 - R48;
160
80:     1 270c 2f 1c030                                   //    00019C30005FC030        ADD R[12+ offset].xyz R47.xyz R48.-x-y-z
161
//      R47 = T.yzx * E1.zxy;
162
81:     6003 1f2f 260d 190f                               //    60037CBC4C1A190F        MUL (unscaled) R47.xyz R[13 + offset].yzx R[15 + offset].zxy
163
//      R48 = T.zxy * E1.yzx;
164
82:     6003 1f30 190d 260f                               //    60037CC0321A260F        MUL (unscaled) R48.xyz R[13 + offset].zxy R[15 + offset].yzx
165
//      Q = R47 - R48;
166
83:     1 270b 2f 1c030                                   //    00019C2C005FC030        ADD R[11+ offset].xyz R47.xyz R48.-x-y-z
167
//      R47 = Q * E2;
168
84:     6003 1f2f b e                                     //    60037CBC0016000E        MUL (unscaled) R47.xyz R[11 + offset].xyz R[14 + offset].xyz
169
//      R47.x = R47.xxx + R47.yyy;
170
85:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
171
//      H.x = R47.xxx + R47.zzz;
172
86:     1 240a a2f 142f                                   //    00019028145E142F        ADD R[10+ offset].x__ R47.xxx R47.zzz
173
//      R47 = P * T;
174
87:     6003 1f2f c d                                     //    60037CBC0018000D        MUL (unscaled) R47.xyz R[12 + offset].xyz R[13 + offset].xyz
175
//      R47.x = R47.xxx + R47.yyy;
176
88:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
177
//      H.y = R47.xxx + R47.zzz;
178
89:     1 220a a2f 142f                                   //    00018828145E142F        ADD R[10+ offset]._y_ R47.xxx R47.zzz
179
//      R47 = Q * r54;
180
90:     6003 172f b 36                                    //    60035CBC00160036        MUL (unscaled) R47.xyz R[11 + offset].xyz R54.xyz
181
//      R47.x = R47.xxx + R47.yyy;
182
91:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
183
//      H.z = R47.xxx + R47.zzz;
184
92:     1 210a a2f 142f                                   //    00018428145E142F        ADD R[10+ offset].__z R47.xxx R47.zzz
185
//      R47 = P * E1;
186
93:     6003 1f2f c f                                     //    60037CBC0018000F        MUL (unscaled) R47.xyz R[12 + offset].xyz R[15 + offset].xyz
187
//      R47.x = R47.xxx + R47.yyy;
188
94:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
189
//      Delta = R47.xxx + R47.zzz;
190
95:     1 2711 a2f 142f                                   //    00019C44145E142F        ADD R[17+ offset].xyz R47.xxx R47.zzz
191
// t = H / Delta;
192
96:     1002 3f10 a 11                                    //    1002FC4000140011        DIV R[16+ offset].xyz R[10 + offset].xyz (scaled) R[17 + offset].xyz
193
// vector ExpectedResult = (0x000e8f71, 0xffffcccd, 0xffff999a);
194
97:     8001 2c12 7 8f71                                  //    8001B048000E8F71        ADD R[18 + offset ].x__ I(e8f71) 0
195
98:     8001 2a12 7fff 1cccd                              //    8001A848FFFFCCCD        ADD R[18 + offset ]._y_ I(ffffcccd) 0
196
99:     8001 2912 7fff 1999a                              //    8001A448FFFF999A        ADD R[18 + offset ].__z I(ffff999a) 0
197
// if ( t != ExpectedResult)
198
100:    241 1867 10 1c012                                 //    0241619C0021C012        ADD  @103.___ R[16 + offset].xyz R[18 + offset].-x-y-z
199
//  R66 = 0xdead;
200
101:    8001 2742 0 dead                                  //    80019D080000DEAD        ADD R[66].xyz I(dead) 0
201
102:    201 68 0 0                                        //    020101A000000000        ADD  @104.___ R0.xyz R0.xyz
202
//  R66 = 0xaced;
203
103:    8001 2742 0 aced                                  //    80019D080000ACED        ADD R[66].xyz I(aced) 0
204
//  if (t.yyy >= 0)
205
104:    2c1 106f 2110 1ca00                               //    02C141BC4221CA00        ADD  @111.___ R[16 + offset].yyy R0.-x-x-x
206
//   E2.y = E1.zzz + E1;
207
105:    1 3a0e 140f f                                     //    0001E838281E000F        ADD R[14+ offset]._y_ R[15 + offset].zzz R[15 + offset].xyz
208
//   if (E2.yyy > T.yyy)
209
106:    341 186e 210e 1e10d                               //    034161B8421DE10D        ADD  @110.___ R[14 + offset].yyy R[13 + offset].-y-y-y
210
//Set the return value
211
107:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
212
//Restore previous function frame offset
213
108:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
214
//return from function
215
109:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
216
110:    201 72 0 0                                        //    020101C800000000        ADD  @114.___ R0.xyz R0.xyz
217
//Set the return value
218
111:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
219
//Restore previous function frame offset
220
112:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
221
//return from function
222
113:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
223
//Set the return value
224
114:    8001 2701 0 1                                     //    80019C0400000001        ADD R[1].xyz I(1) 0
225
//Restore previous function frame offset
226
115:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
227
//return from function
228
116:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
229
//Restore previous function frame offset
230
117:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
231
 
232
//PixelShader
233
//Restore previous function frame offset
234
118:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
235
//return from function
236
119:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
237
//Restore previous function frame offset
238
120:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
239
 
240
//GenerateNextPixel
241
//  r55 = r56;
242
121:    1 737 a00 38                                      //    00011CDC14000038        ADD R55.xyz R0.xxx R56.xyz
243
//  r61 = 0;
244
122:    1 73d a00 a00                                     //    00011CF414000A00        ADD R61.xyz R0.xxx R0.xxx
245
//  r64 += 3;
246
123:    8001 740 0 3                                      //    80011D0000000003        ADD R[64].xyz I(3) R[DST]
247
//  if (r57.xxx >= r62.xxx )
248
124:    2c1 82 a39 1ca3e                                  //    02C102081473CA3E        ADD  @130.___ R57.xxx R62.-x-x-x
249
//   r57.x++;
250
125:    1 439 39 2100                                     //    000110E400722100        ADD R57.x__ R57.xyz R0.yyy
251
//Set the return value
252
126:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
253
//Restore previous function frame offset
254
127:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
255
//return from function
256
128:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
257
129:    201 8c 0 0                                        //    0201023000000000        ADD  @140.___ R0.xyz R0.xyz
258
//   r57.x = 0;
259
130:    1 439 a00 a00                                     //    000110E414000A00        ADD R57.x__ R0.xxx R0.xxx
260
//   r57.y++;
261
131:    1 239 39 2100                                     //    000108E400722100        ADD R57._y_ R57.xyz R0.yyy
262
//   if (r57.yyy == r63.yyy)
263
132:    281 89 2139 1e13f                                 //    028102244273E13F        ADD  @137.___ R57.yyy R63.-y-y-y
264
//Set the return value
265
133:    8001 2701 0 1                                     //    80019C0400000001        ADD R[1].xyz I(1) 0
266
//Restore previous function frame offset
267
134:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
268
//return from function
269
135:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
270
136:    201 8c 0 0                                        //    0201023000000000        ADD  @140.___ R0.xyz R0.xyz
271
//Set the return value
272
137:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
273
//Restore previous function frame offset
274
138:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
275
//return from function
276
139:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
277
//Restore previous function frame offset
278
140:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
279
 
280
//TextureCalculation
281
//Restore previous function frame offset
282
141:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
283
//return from function
284
142:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
285
//Restore previous function frame offset
286
143:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
287
 
288
//PrePixelShader
289
//Restore previous function frame offset
290
144:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
291
//return from function
292
145:    8201 2 0 0                                        //    8201000800000000        ADD  @*R[2].___ I(0) R[DST]
293
//Restore previous function frame offset
294
146:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.