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] - Rev 218

Compare with Previous | Blame | View Log

//List file created by theia_compile
//Make sure R0 has the appropiate values (0,1,2)
0:      8001 2400 0 0                                     //    8001900000000000        ADD R[0].x__ I(0) 0
1:      8001 2200 0 1                                     //    8001880000000001        ADD R[0]._y_ I(1) 0
2:      8001 2100 0 2                                     //    8001840000000002        ADD R[0].__z I(2) 0
//Disable multi-threading by default
3:      8001 2102 0 0                                     //    8001840800000000        ADD R[2].__z I(0) 0
//Make sure R3 (Frame Offset) is initialized to zero
4:      8001 2703 0 0                                     //    80019C0C00000000        ADD R[3].xyz I(0) 0
//r52  = 0x0000147a;
5:      8001 2734 0 147a                                  //    80019CD00000147A        ADD R[52].xyz I(147a) 0
//r57   = 0;
6:      1 739 a00 a00                                     //    00011CE414000A00        ADD R57.xyz R0.xxx R0.xxx
//r53  = 0xfff80000;
7:      8001 2735 7ffc 0                                  //    80019CD4FFF80000        ADD R[53].xyz I(fff80000) 0
//r53.z   = 0;
8:      1 135 a00 a00                                     //    000104D414000A00        ADD R53.__z R0.xxx R0.xxx
//r51 = (0,0x00040000,0x00020000);
9:      8001 2433 0 0                                     //    800190CC00000000        ADD R[51].x__ I(0) 0
10:     8001 2233 2 0                                     //    800188CC00040000        ADD R[51]._y_ I(40000) 0
11:     8001 2133 1 0                                     //    800184CC00020000        ADD R[51].__z I(20000) 0
//r56  = 2;
12:     1 738 a00 1400                                    //    00011CE014001400        ADD R56.xyz R0.xxx R0.zzz
//r55 = 2;
13:     1 737 a00 1400                                    //    00011CDC14001400        ADD R55.xyz R0.xxx R0.zzz
//r62 = 10;
14:     8001 273e 0 a                                     //    80019CF80000000A        ADD R[62].xyz I(a) 0
//r69 = (0x00050000, 0xfffa0000, 0x00000000 );
15:     8001 2445 2 10000                                 //    8001911400050000        ADD R[69].x__ I(50000) 0
16:     8001 2245 7ffd 0                                  //    80018914FFFA0000        ADD R[69]._y_ I(fffa0000) 0
17:     8001 2145 0 0                                     //    8001851400000000        ADD R[69].__z I(0) 0
//r68 = (0xfffb0000, 0xfffa0000,0x00000000 );
18:     8001 2444 7ffd 10000                              //    80019110FFFB0000        ADD R[68].x__ I(fffb0000) 0
19:     8001 2244 7ffd 0                                  //    80018910FFFA0000        ADD R[68]._y_ I(fffa0000) 0
20:     8001 2144 0 0                                     //    8001851000000000        ADD R[68].__z I(0) 0
//r60 = (0x00050000, 0x00040000,0x00000000 );
21:     8001 243c 2 10000                                 //    800190F000050000        ADD R[60].x__ I(50000) 0
22:     8001 223c 2 0                                     //    800188F000040000        ADD R[60]._y_ I(40000) 0
23:     8001 213c 0 0                                     //    800184F000000000        ADD R[60].__z I(0) 0

//main
//  if ( r55 == r56 )
24:     281 1e 37 1c038                                   //    02810078006FC038        ADD <BRANCH.NOT_ZERO> @30.___ R55.xyz R56.-x-y-z
//   GenerateRay();
//store return address**
25:     8001 2402 0 1d                                    //    800190080000001D        ADD R[2].x__ I(1d) 0
//store current frame offset
26:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
//displace next frame offset by the number of auto variables in current frame
27:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
//call the function
28:     201 @GenerateRay 0 0                              //    201 @GenerateRay 0 0    ADD <BRANCH.ALWAYS> @GenerateRay.___ R0.xyz R0.xyz
//   Hit = 0;
29:     1 270b a00 a00                                    //    00019C2C14000A00        ADD R[11+ offset].xyz R0.xxx R0.xxx
// Hit = CalculateBaricentricIntersection();
//store return address**
30:     8001 2402 0 22                                    //    8001900800000022        ADD R[2].x__ I(22) 0
//store current frame offset
31:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
//displace next frame offset by the number of auto variables in current frame
32:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
//call the function
33:     201 @CalculateBaricentricIntersection 0 0         //    201 @CalculateBaricentricIntersection 0 0       ADD <BRANCH.ALWAYS> @CalculateBaricentricIntersection.___ R0.xyz R0.xyz
//grab the return value from the function
34:     1 270b 1 a00                                      //    00019C2C00020A00        ADD R[11+ offset].xyz R1.xyz R0.xxx
// r55--;
35:     1 737 37 1e100                                    //    00011CDC006FE100        ADD R55.xyz R55.xyz R0.-y-y-y
//  if ( r55 != 0 )
36:     241 27 37 1ca00                                   //    0241009C006FCA00        ADD <BRANCH.ZERO> @39.___ R55.xyz R0.-x-x-x
//NOP
37:     0 0 0 0                                           //    0000000000000000        NOP R0.___ R0.xyz R0.xyz
//Set the Exit bit
38:     401 0 0 0                                         //    0401000000000000        ADD R0.___ R0.xyz R0.xyz
//  if (Hit != 0)
39:     241 1030 b 1ca00                                  //    024140C00017CA00        ADD <BRANCH.ZERO> @48.___ R[11 + offset].xyz R0.-x-x-x
//  TextureCalculation();
//store return address**
40:     8001 2402 0 2c                                    //    800190080000002C        ADD R[2].x__ I(2c) 0
//store current frame offset
41:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
//displace next frame offset by the number of auto variables in current frame
42:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
//call the function
43:     201 @TextureCalculation 0 0                       //    201 @TextureCalculation 0 0     ADD <BRANCH.ALWAYS> @TextureCalculation.___ R0.xyz R0.xyz
//  PrePixelShader();
//store return address**
44:     8001 2402 0 30                                    //    8001900800000030        ADD R[2].x__ I(30) 0
//store current frame offset
45:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
//displace next frame offset by the number of auto variables in current frame
46:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
//call the function
47:     201 @PrePixelShader 0 0                           //    201 @PrePixelShader 0 0 ADD <BRANCH.ALWAYS> @PrePixelShader.___ R0.xyz R0.xyz
// PixelShader();
//store return address**
48:     8001 2402 0 34                                    //    8001900800000034        ADD R[2].x__ I(34) 0
//store current frame offset
49:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
//displace next frame offset by the number of auto variables in current frame
50:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
//call the function
51:     201 @PixelShader 0 0                              //    201 @PixelShader 0 0    ADD <BRANCH.ALWAYS> @PixelShader.___ R0.xyz R0.xyz
// GenerateNextPixel();
//store return address**
52:     8001 2402 0 38                                    //    8001900800000038        ADD R[2].x__ I(38) 0
//store current frame offset
53:     1 203 a03 a00                                     //    0001080C14060A00        ADD R3._y_ R3.xxx R0.xxx
//displace next frame offset by the number of auto variables in current frame
54:     8001 403 0 2                                      //    8001100C00000002        ADD R[3].x__ I(2) R[DST]
//call the function
55:     201 @GenerateNextPixel 0 0                        //    201 @GenerateNextPixel 0 0      ADD <BRANCH.ALWAYS> @GenerateNextPixel.___ R0.xyz R0.xyz
//Set the return value
56:     8001 2701 0 1                                     //    80019C0400000001        ADD R[1].xyz I(1) 0
//Restore previous function frame offset
57:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
58:     8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//NOP
59:     0 0 0 0                                           //    0000000000000000        NOP R0.___ R0.xyz R0.xyz
//Set the Exit bit
60:     401 0 0 0                                         //    0401000000000000        ADD R0.___ R0.xyz R0.xyz
//Restore previous function frame offset
61:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

//GenerateRay
//  UnnormalizedDirection = (r53 + r57 * r52  ) - r51;   
62:     6003 270c 39 34                                   //    60039C3000720034        MUL (unscaled) R[12+ offset].xyz R57.xyz R52.xyz
63:     1 2f0d 35 c                                       //    0001BC34006A000C        ADD R[13+ offset].xyz R53.xyz R[12 + offset].xyz
64:     1 370b d 1c033                                    //    0001DC2C001BC033        ADD R[11+ offset].xyz R[13 + offset].xyz R51.-x-y-z
//  tmp = UnnormalizedDirection * UnnormalizedDirection;  //tmp = (x^2,y^2,z^2)       
65:     6003 3f0a b b                                     //    6003FC280016000B        MUL (unscaled) R[10+ offset].xyz R[11 + offset].xyz R[11 + offset].xyz
//  r54 = UnnormalizedDirection / sqrt( tmp.xxx + tmp.yyy + tmp.zzz );
66:     1 3f0c a0a 210a                                   //    0001FC301414210A        ADD R[12+ offset].xyz R[10 + offset].xxx R[10 + offset].yyy
67:     1 3f0d c 140a                                     //    0001FC340018140A        ADD R[13+ offset].xyz R[12 + offset].xyz R[10 + offset].zzz
68:     4 370e d a00                                      //    0004DC38001A0A00        SQRT R[14+ offset].xyz R[13 + offset].xyz R0.xxx
69:     1002 1f36 b e                                     //    10027CD80016000E        DIV R54.xyz R[11 + offset].xyz (scaled) R[14 + offset].xyz
//Restore previous function frame offset
70:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
71:     8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//Restore previous function frame offset
72:     1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

//CalculateBaricentricIntersection
// r59 = 0;
73:     1 73b a00 a00                                     //    00011CEC14000A00        ADD R59.xyz R0.xxx R0.xxx
// T.y = 1;
74:     1 220d a00 2100                                   //    0001883414002100        ADD R[13+ offset]._y_ R0.xxx R0.yyy
// E1 = r69 - r68;       
75:     1 270f 45 1c044                                   //    00019C3C008BC044        ADD R[15+ offset].xyz R69.xyz R68.-x-y-z
// E2 = r60 - r68;       
76:     1 270e 3c 1c044                                   //    00019C380079C044        ADD R[14+ offset].xyz R60.xyz R68.-x-y-z
// T = r51 - r68;    
77:     1 270d 33 1c044                                   //    00019C340067C044        ADD R[13+ offset].xyz R51.xyz R68.-x-y-z
//      R47 = r54.yzx * E2.zxy;
78:     6003 f2f 2636 190e                                //    60033CBC4C6C190E        MUL (unscaled) R47.xyz R54.yzx R[14 + offset].zxy
//      R48 = r54.zxy * E2.yzx;
79:     6003 f30 1936 260e                                //    60033CC0326C260E        MUL (unscaled) R48.xyz R54.zxy R[14 + offset].yzx
//      P = R47 - R48;
80:     1 270c 2f 1c030                                   //    00019C30005FC030        ADD R[12+ offset].xyz R47.xyz R48.-x-y-z
//      R47 = T.yzx * E1.zxy;
81:     6003 1f2f 260d 190f                               //    60037CBC4C1A190F        MUL (unscaled) R47.xyz R[13 + offset].yzx R[15 + offset].zxy
//      R48 = T.zxy * E1.yzx;
82:     6003 1f30 190d 260f                               //    60037CC0321A260F        MUL (unscaled) R48.xyz R[13 + offset].zxy R[15 + offset].yzx
//      Q = R47 - R48;
83:     1 270b 2f 1c030                                   //    00019C2C005FC030        ADD R[11+ offset].xyz R47.xyz R48.-x-y-z
//      R47 = Q * E2;
84:     6003 1f2f b e                                     //    60037CBC0016000E        MUL (unscaled) R47.xyz R[11 + offset].xyz R[14 + offset].xyz
//      R47.x = R47.xxx + R47.yyy;
85:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
//      H.x = R47.xxx + R47.zzz;
86:     1 240a a2f 142f                                   //    00019028145E142F        ADD R[10+ offset].x__ R47.xxx R47.zzz
//      R47 = P * T;
87:     6003 1f2f c d                                     //    60037CBC0018000D        MUL (unscaled) R47.xyz R[12 + offset].xyz R[13 + offset].xyz
//      R47.x = R47.xxx + R47.yyy;
88:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
//      H.y = R47.xxx + R47.zzz;
89:     1 220a a2f 142f                                   //    00018828145E142F        ADD R[10+ offset]._y_ R47.xxx R47.zzz
//      R47 = Q * r54;
90:     6003 172f b 36                                    //    60035CBC00160036        MUL (unscaled) R47.xyz R[11 + offset].xyz R54.xyz
//      R47.x = R47.xxx + R47.yyy;
91:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
//      H.z = R47.xxx + R47.zzz;
92:     1 210a a2f 142f                                   //    00018428145E142F        ADD R[10+ offset].__z R47.xxx R47.zzz
//      R47 = P * E1;
93:     6003 1f2f c f                                     //    60037CBC0018000F        MUL (unscaled) R47.xyz R[12 + offset].xyz R[15 + offset].xyz
//      R47.x = R47.xxx + R47.yyy;
94:     1 42f a2f 212f                                    //    000110BC145E212F        ADD R47.x__ R47.xxx R47.yyy
//      Delta = R47.xxx + R47.zzz;
95:     1 2711 a2f 142f                                   //    00019C44145E142F        ADD R[17+ offset].xyz R47.xxx R47.zzz
// t = H / Delta;  
96:     1002 3f10 a 11                                    //    1002FC4000140011        DIV R[16+ offset].xyz R[10 + offset].xyz (scaled) R[17 + offset].xyz
// vector ExpectedResult = (0x000e8f71, 0xffffcccd, 0xffff999a);
97:     8001 2c12 7 8f71                                  //    8001B048000E8F71        ADD R[18 + offset ].x__ I(e8f71) 0
98:     8001 2a12 7fff 1cccd                              //    8001A848FFFFCCCD        ADD R[18 + offset ]._y_ I(ffffcccd) 0
99:     8001 2912 7fff 1999a                              //    8001A448FFFF999A        ADD R[18 + offset ].__z I(ffff999a) 0
// if ( t != ExpectedResult)
100:    241 1867 10 1c012                                 //    0241619C0021C012        ADD <BRANCH.ZERO> @103.___ R[16 + offset].xyz R[18 + offset].-x-y-z
//  R66 = 0xdead;
101:    8001 2742 0 dead                                  //    80019D080000DEAD        ADD R[66].xyz I(dead) 0
102:    201 68 0 0                                        //    020101A000000000        ADD <BRANCH.ALWAYS> @104.___ R0.xyz R0.xyz
//  R66 = 0xaced;
103:    8001 2742 0 aced                                  //    80019D080000ACED        ADD R[66].xyz I(aced) 0
//  if (t.yyy >= 0)  
104:    2c1 106f 2110 1ca00                               //    02C141BC4221CA00        ADD <BRANCH.SIGN> @111.___ R[16 + offset].yyy R0.-x-x-x
//   E2.y = E1.zzz + E1;
105:    1 3a0e 140f f                                     //    0001E838281E000F        ADD R[14+ offset]._y_ R[15 + offset].zzz R[15 + offset].xyz
//   if (E2.yyy > T.yyy)
106:    341 186e 210e 1e10d                               //    034161B8421DE10D        ADD <BRANCH.ZERO_OR_SIGN> @110.___ R[14 + offset].yyy R[13 + offset].-y-y-y
//Set the return value
107:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
//Restore previous function frame offset
108:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
109:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
110:    201 72 0 0                                        //    020101C800000000        ADD <BRANCH.ALWAYS> @114.___ R0.xyz R0.xyz
//Set the return value
111:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
//Restore previous function frame offset
112:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
113:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//Set the return value
114:    8001 2701 0 1                                     //    80019C0400000001        ADD R[1].xyz I(1) 0
//Restore previous function frame offset
115:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
116:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//Restore previous function frame offset
117:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

//PixelShader
//Restore previous function frame offset
118:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
119:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//Restore previous function frame offset
120:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

//GenerateNextPixel
//  r55 = r56;
121:    1 737 a00 38                                      //    00011CDC14000038        ADD R55.xyz R0.xxx R56.xyz
//  r61 = 0;
122:    1 73d a00 a00                                     //    00011CF414000A00        ADD R61.xyz R0.xxx R0.xxx
//  r64 += 3;
123:    8001 740 0 3                                      //    80011D0000000003        ADD R[64].xyz I(3) R[DST]
//  if (r57.xxx >= r62.xxx )
124:    2c1 82 a39 1ca3e                                  //    02C102081473CA3E        ADD <BRANCH.SIGN> @130.___ R57.xxx R62.-x-x-x
//   r57.x++;
125:    1 439 39 2100                                     //    000110E400722100        ADD R57.x__ R57.xyz R0.yyy
//Set the return value
126:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
//Restore previous function frame offset
127:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
128:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
129:    201 8c 0 0                                        //    0201023000000000        ADD <BRANCH.ALWAYS> @140.___ R0.xyz R0.xyz
//   r57.x = 0;
130:    1 439 a00 a00                                     //    000110E414000A00        ADD R57.x__ R0.xxx R0.xxx
//   r57.y++;
131:    1 239 39 2100                                     //    000108E400722100        ADD R57._y_ R57.xyz R0.yyy
//   if (r57.yyy == r63.yyy)
132:    281 89 2139 1e13f                                 //    028102244273E13F        ADD <BRANCH.NOT_ZERO> @137.___ R57.yyy R63.-y-y-y
//Set the return value
133:    8001 2701 0 1                                     //    80019C0400000001        ADD R[1].xyz I(1) 0
//Restore previous function frame offset
134:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
135:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
136:    201 8c 0 0                                        //    0201023000000000        ADD <BRANCH.ALWAYS> @140.___ R0.xyz R0.xyz
//Set the return value
137:    8001 2701 0 0                                     //    80019C0400000000        ADD R[1].xyz I(0) 0
//Restore previous function frame offset
138:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
139:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//Restore previous function frame offset
140:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

//TextureCalculation
//Restore previous function frame offset
141:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
142:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//Restore previous function frame offset
143:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

//PrePixelShader
//Restore previous function frame offset
144:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx
//return from function
145:    8201 2 0 0                                        //    8201000800000000        ADD <BRANCH.ALWAYS> @*R[2].___ I(0) R[DST]
//Restore previous function frame offset
146:    1 403 2103 a00                                    //    0001100C42060A00        ADD R3.x__ R3.yyy R0.xxx

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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