Advertisement
Guest User

bad

a guest
Feb 25th, 2020
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.02 KB | None | 0 0
  1. /////////////////////////////// Source file 0/////////////////////////////
  2. #version 330
  3.  
  4. /////////////////////////////// Source file 1/////////////////////////////
  5. #extension GL_ARB_separate_shader_objects : enable
  6.  
  7. struct pica_uniforms {
  8. bool b[16];
  9. uvec4 i[4];
  10. vec4 f[96];
  11. };
  12.  
  13. bool exec_shader();
  14.  
  15.  
  16. #define uniforms vs_uniforms
  17. layout (std140) uniform vs_config {
  18. pica_uniforms uniforms;
  19. };
  20.  
  21. layout(location = 0) in vec4 vs_in_reg0;
  22. layout(location = 1) in vec4 vs_in_reg1;
  23. layout(location = 2) in vec4 vs_in_reg2;
  24. layout(location = 3) in vec4 vs_in_reg3;
  25. layout(location = 4) in vec4 vs_in_reg4;
  26. layout(location = 5) in vec4 vs_in_reg5;
  27.  
  28. layout(location = 0) out vec4 vs_out_attr0;
  29. layout(location = 1) out vec4 vs_out_attr1;
  30. layout(location = 2) out vec4 vs_out_attr2;
  31. layout(location = 3) out vec4 vs_out_attr3;
  32. layout(location = 4) out vec4 vs_out_attr4;
  33. layout(location = 5) out vec4 vs_out_attr5;
  34. layout(location = 6) out vec4 vs_out_attr6;
  35.  
  36. void main() {
  37. vs_out_attr0 = vec4(0.0, 0.0, 0.0, 1.0);
  38. vs_out_attr1 = vec4(0.0, 0.0, 0.0, 1.0);
  39. vs_out_attr2 = vec4(0.0, 0.0, 0.0, 1.0);
  40. vs_out_attr3 = vec4(0.0, 0.0, 0.0, 1.0);
  41. vs_out_attr4 = vec4(0.0, 0.0, 0.0, 1.0);
  42. vs_out_attr5 = vec4(0.0, 0.0, 0.0, 1.0);
  43. vs_out_attr6 = vec4(0.0, 0.0, 0.0, 1.0);
  44.  
  45. exec_shader();
  46. }
  47.  
  48. bvec2 conditional_code = bvec2(false);
  49. ivec3 address_registers = ivec3(0);
  50. vec4 reg_tmp0 = vec4(0.0, 0.0, 0.0, 1.0);
  51. vec4 reg_tmp1 = vec4(0.0, 0.0, 0.0, 1.0);
  52. vec4 reg_tmp2 = vec4(0.0, 0.0, 0.0, 1.0);
  53. vec4 reg_tmp3 = vec4(0.0, 0.0, 0.0, 1.0);
  54. vec4 reg_tmp4 = vec4(0.0, 0.0, 0.0, 1.0);
  55. vec4 reg_tmp5 = vec4(0.0, 0.0, 0.0, 1.0);
  56. vec4 reg_tmp6 = vec4(0.0, 0.0, 0.0, 1.0);
  57. vec4 reg_tmp7 = vec4(0.0, 0.0, 0.0, 1.0);
  58. vec4 reg_tmp8 = vec4(0.0, 0.0, 0.0, 1.0);
  59. vec4 reg_tmp9 = vec4(0.0, 0.0, 0.0, 1.0);
  60. vec4 reg_tmp10 = vec4(0.0, 0.0, 0.0, 1.0);
  61. vec4 reg_tmp11 = vec4(0.0, 0.0, 0.0, 1.0);
  62. vec4 reg_tmp12 = vec4(0.0, 0.0, 0.0, 1.0);
  63. vec4 reg_tmp13 = vec4(0.0, 0.0, 0.0, 1.0);
  64. vec4 reg_tmp14 = vec4(0.0, 0.0, 0.0, 1.0);
  65. vec4 reg_tmp15 = vec4(0.0, 0.0, 0.0, 1.0);
  66.  
  67. bool sub_0_11();
  68. bool sub_7_9();
  69. bool sub_9_10();
  70. bool sub_12_89();
  71. bool sub_52_72();
  72. bool sub_53_58();
  73. bool sub_58_71();
  74. bool sub_62_65();
  75. bool sub_65_70();
  76. bool sub_72_85();
  77. bool sub_73_78();
  78. bool sub_78_84();
  79. bool sub_90_98();
  80. bool sub_99_107();
  81. bool sub_132_143();
  82. bool sub_144_4096();
  83. bool sub_167_169();
  84. bool sub_177_179();
  85. bool sub_186_197();
  86. bool sub_199_201();
  87. bool sub_203_206();
  88. bool sub_208_211();
  89. bool sub_214_215();
  90. bool sub_218_220();
  91. bool sub_220_222();
  92.  
  93. bool exec_shader() {
  94. sub_144_4096();
  95. return true;
  96. }
  97.  
  98. bool sub_0_11() {
  99. // 0: cmp
  100. conditional_code = equal(vec2(-uniforms.f[92].yyyy), vec2(reg_tmp1.zzzz));
  101. // 1: add
  102. reg_tmp4.xyzw = uniforms.f[92].yyyy + reg_tmp1.zzzz;
  103. // 2: mul
  104. reg_tmp4.xyzw = uniforms.f[93].zzzz * reg_tmp4.xyzw;
  105. // 3: mov
  106. vs_out_attr3.w = (uniforms.f[92].xxxx).w;
  107. // 4: rsq
  108. reg_tmp4.xyzw = vec4(inversesqrt(reg_tmp4.xxxx.x));
  109. // 5: mul
  110. reg_tmp5.xyzw = uniforms.f[93].zzzz * reg_tmp1.xyzw;
  111. // 6: ifc
  112. if (!conditional_code.x) {
  113. sub_7_9();
  114. } else {
  115. sub_9_10();
  116. }
  117. // 10: nop
  118. return false;
  119. }
  120.  
  121. bool sub_7_9() {
  122. // 7: rcp
  123. vs_out_attr3.z = (1.0 / reg_tmp4.xxxx.x);
  124. // 8: mul
  125. vs_out_attr3.xy = (reg_tmp5.xyzw * reg_tmp4.xyzw).xy;
  126. return false;
  127. }
  128.  
  129. bool sub_9_10() {
  130. // 9: mov
  131. vs_out_attr3.xyzw = uniforms.f[92].yxxx;
  132. return false;
  133. }
  134.  
  135. bool sub_12_89() {
  136. uint jmp_to = 12u;
  137. while (true) {
  138. switch (jmp_to) {
  139. case 12u: {
  140. // 12: dp4
  141. reg_tmp15.x = dot(vs_in_reg5.xyzw, vs_in_reg5.xyzw);
  142. // 13: rsq
  143. reg_tmp15.x = inversesqrt(reg_tmp15.xxxx.x);
  144. // 14: mul
  145. reg_tmp15.xyzw = vs_in_reg5.xyzw * reg_tmp15.xxxx;
  146. // 15: dp3
  147. reg_tmp13.x = dot(vec3(uniforms.f[8].xyzw), vec3(reg_tmp15.xyzw));
  148. // 16: dp3
  149. reg_tmp13.y = dot(vec3(uniforms.f[9].xyzw), vec3(reg_tmp15.xyzw));
  150. // 17: dp3
  151. reg_tmp13.z = dot(vec3(uniforms.f[10].xyzw), vec3(reg_tmp15.xyzw));
  152. // 18: dp3
  153. reg_tmp14.x = dot(vec3(uniforms.f[12].xyzw), vec3(reg_tmp13.xyzw));
  154. // 19: dp3
  155. reg_tmp14.y = dot(vec3(uniforms.f[13].xyzw), vec3(reg_tmp13.xyzw));
  156. // 20: dp3
  157. reg_tmp14.z = dot(vec3(uniforms.f[14].xyzw), vec3(reg_tmp13.xyzw));
  158. // 21: mov
  159. reg_tmp14.w = (uniforms.f[92].xxxx).w;
  160. // 22: dp4
  161. reg_tmp13.x = dot(reg_tmp14.xyzw, reg_tmp14.xyzw);
  162. // 23: rsq
  163. reg_tmp13.x = inversesqrt(reg_tmp13.xxxx.x);
  164. // 24: mul
  165. reg_tmp13.xyz = (reg_tmp14.xyzw * reg_tmp13.xxxx).xyz;
  166. // 25: mul
  167. reg_tmp5.xyzw = reg_tmp1.yzxx * reg_tmp13.zxyy;
  168. // 26: mad
  169. reg_tmp5.xyzw = -reg_tmp13.yzxx * reg_tmp1.zxyy + reg_tmp5.xyzw;
  170. // 27: dp3
  171. reg_tmp5.w = dot(vec3(reg_tmp5.xyzw), vec3(reg_tmp5.xyzw));
  172. // 28: rsq
  173. reg_tmp5.w = inversesqrt(reg_tmp5.wwww.x);
  174. // 29: mul
  175. reg_tmp5.xyzw = reg_tmp5.xyzw * reg_tmp5.wwww;
  176. // 30: add
  177. reg_tmp6.w = (reg_tmp1.zzzz + reg_tmp5.yyyy).w;
  178. // 31: mul
  179. reg_tmp13.xyzw = reg_tmp5.yzxx * reg_tmp1.zxyy;
  180. // 32: mad
  181. reg_tmp13.xyzw = -reg_tmp1.yzxx * reg_tmp5.zxyy + reg_tmp13.xyzw;
  182. // 33: add
  183. reg_tmp6.w = (reg_tmp13.xxxx + reg_tmp6.xyzw).w;
  184. // 34: mov
  185. reg_tmp13.w = (reg_tmp5.zzzz).w;
  186. // 35: mov
  187. reg_tmp5.z = (reg_tmp13.xxxx).z;
  188. // 36: add
  189. reg_tmp6.w = (uniforms.f[92].yyyy + reg_tmp6.xyzw).w;
  190. // 37: mov
  191. reg_tmp1.w = (reg_tmp5.xxxx).w;
  192. // 38: mov
  193. reg_tmp5.x = (reg_tmp1.zzzz).x;
  194. // 39: cmp
  195. conditional_code = lessThan(vec2(uniforms.f[93].yyyy), vec2(reg_tmp6.wwww));
  196. // 40: mov
  197. reg_tmp6.x = (uniforms.f[92].yyyy).x;
  198. // 41: mov
  199. reg_tmp6.y = (-uniforms.f[92].yyyy).y;
  200. // 42: jmpc
  201. if (!conditional_code.x) {
  202. { jmp_to = 50u; break; }
  203. }
  204. // 43: add
  205. reg_tmp7.xz = (reg_tmp13.wwyy + -reg_tmp1.yyww).xz;
  206. // 44: add
  207. reg_tmp7.y = (reg_tmp1.xxxx + -reg_tmp13.zzzz).y;
  208. // 45: mov
  209. reg_tmp7.w = (reg_tmp6.xyzw).w;
  210. // 46: dp4
  211. reg_tmp6.xyzw = vec4(dot(reg_tmp7.xyzw, reg_tmp7.xyzw));
  212. // 47: rsq
  213. reg_tmp6.xyzw = vec4(inversesqrt(reg_tmp6.xxxx.x));
  214. // 48: mul
  215. vs_out_attr3.xyzw = reg_tmp7.xyzw * reg_tmp6.xyzw;
  216. // 49: jmpu
  217. if (uniforms.b[0]) {
  218. { jmp_to = 88u; break; }
  219. }
  220. }
  221. case 50u: {
  222. // 50: cmp
  223. conditional_code = greaterThan(vec2(reg_tmp5.zyyy), vec2(reg_tmp5.yxxx));
  224. // 51: ifc
  225. if (conditional_code.x) {
  226. sub_52_72();
  227. } else {
  228. sub_72_85();
  229. }
  230. // 85: dp4
  231. reg_tmp6.xyzw = vec4(dot(reg_tmp8.xyzw, reg_tmp8.xyzw));
  232. // 86: rsq
  233. reg_tmp6.xyzw = vec4(inversesqrt(reg_tmp6.xxxx.x));
  234. // 87: mul
  235. vs_out_attr3.xyzw = reg_tmp8.xyzw * reg_tmp6.xyzw;
  236. }
  237. case 88u: {
  238. // 88: nop
  239. }
  240. default: return false;
  241. }
  242. }
  243. return false;
  244. }
  245.  
  246. bool sub_52_72() {
  247. // 52: ifc
  248. if (conditional_code.y) {
  249. sub_53_58();
  250. } else {
  251. sub_58_71();
  252. }
  253. // 71: mov
  254. reg_tmp8.w = (-reg_tmp8.xyzw).w;
  255. return false;
  256. }
  257.  
  258. bool sub_53_58() {
  259. // 53: mul
  260. reg_tmp8.xyzw = reg_tmp13.yyzw * reg_tmp6.xxxy;
  261. // 54: add
  262. reg_tmp8.x = (uniforms.f[92].yyyy + -reg_tmp5.yyyy).x;
  263. // 55: add
  264. reg_tmp9.xyzw = reg_tmp5.zzzz + -reg_tmp5.xxxx;
  265. // 56: add
  266. reg_tmp8.yzw = (reg_tmp8.xyzw + reg_tmp1.wwxy).yzw;
  267. // 57: add
  268. reg_tmp8.x = (reg_tmp9.xyzw + reg_tmp8.xyzw).x;
  269. return false;
  270. }
  271.  
  272. bool sub_58_71() {
  273. // 58: cmp
  274. conditional_code = greaterThan(vec2(reg_tmp5.zzzz), vec2(reg_tmp5.xxxx));
  275. // 59: mul
  276. reg_tmp8.xyzw = reg_tmp13.yyzw * reg_tmp6.xxxy;
  277. // 60: add
  278. reg_tmp8.x = (uniforms.f[92].yyyy + -reg_tmp5.yyyy).x;
  279. // 61: ifc
  280. if (conditional_code.x) {
  281. sub_62_65();
  282. } else {
  283. sub_65_70();
  284. }
  285. // 70: nop
  286. return false;
  287. }
  288.  
  289. bool sub_62_65() {
  290. // 62: add
  291. reg_tmp9.xyzw = reg_tmp5.zzzz + -reg_tmp5.xxxx;
  292. // 63: add
  293. reg_tmp8.yzw = (reg_tmp8.xyzw + reg_tmp1.wwxy).yzw;
  294. // 64: add
  295. reg_tmp8.x = (reg_tmp9.xyzw + reg_tmp8.xyzw).x;
  296. return false;
  297. }
  298.  
  299. bool sub_65_70() {
  300. // 65: mul
  301. reg_tmp8.xyzw = reg_tmp13.zwwy * reg_tmp6.xxxy;
  302. // 66: add
  303. reg_tmp8.z = (uniforms.f[92].yyyy + -reg_tmp5.zzzz).z;
  304. // 67: add
  305. reg_tmp9.xyzw = reg_tmp5.xxxx + -reg_tmp5.yyyy;
  306. // 68: add
  307. reg_tmp8.xyw = (reg_tmp8.xyzw + reg_tmp1.xyyw).xyw;
  308. // 69: add
  309. reg_tmp8.z = (reg_tmp9.xyzw + reg_tmp8.xyzw).z;
  310. return false;
  311. }
  312.  
  313. bool sub_72_85() {
  314. // 72: ifc
  315. if (conditional_code.y) {
  316. sub_73_78();
  317. } else {
  318. sub_78_84();
  319. }
  320. // 84: nop
  321. return false;
  322. }
  323.  
  324. bool sub_73_78() {
  325. // 73: mul
  326. reg_tmp8.xyzw = reg_tmp13.yywz * reg_tmp6.xxxy;
  327. // 74: add
  328. reg_tmp8.y = (uniforms.f[92].yyyy + -reg_tmp5.zzzz).y;
  329. // 75: add
  330. reg_tmp9.xyzw = reg_tmp5.yyyy + -reg_tmp5.xxxx;
  331. // 76: add
  332. reg_tmp8.xzw = (reg_tmp8.xyzw + reg_tmp1.wwyx).xzw;
  333. // 77: add
  334. reg_tmp8.y = (reg_tmp9.xyzw + reg_tmp8.xyzw).y;
  335. return false;
  336. }
  337.  
  338. bool sub_78_84() {
  339. // 78: mul
  340. reg_tmp8.xyzw = reg_tmp13.zwwy * reg_tmp6.xxxy;
  341. // 79: add
  342. reg_tmp8.z = (uniforms.f[92].yyyy + -reg_tmp5.zzzz).z;
  343. // 80: add
  344. reg_tmp9.xyzw = reg_tmp5.xxxx + -reg_tmp5.yyyy;
  345. // 81: add
  346. reg_tmp8.xyw = (reg_tmp8.xyzw + reg_tmp1.xyyw).xyw;
  347. // 82: add
  348. reg_tmp8.z = (reg_tmp9.xyzw + reg_tmp8.xyzw).z;
  349. // 83: mov
  350. reg_tmp8.w = (-reg_tmp8.xyzw).w;
  351. return false;
  352. }
  353.  
  354. bool sub_90_98() {
  355. // 90: mov
  356. reg_tmp12.xyzw = vs_in_reg3.xyzw;
  357. // 91: mul
  358. reg_tmp12.xyzw = uniforms.f[17].xxxx * reg_tmp12.xyzw;
  359. // 92: mov
  360. reg_tmp13.xyzw = uniforms.f[31].xyzw;
  361. // 93: mul
  362. reg_tmp13.xyzw = uniforms.f[30].xxxx * reg_tmp13.xyzw;
  363. // 94: flr
  364. reg_tmp14.xy = (floor(reg_tmp13.xyyy)).xy;
  365. // 95: add
  366. reg_tmp13.xy = (reg_tmp13.xyyy + -reg_tmp14.xyyy).xy;
  367. // 96: add
  368. reg_tmp12.xyzw = reg_tmp12.xyyy + reg_tmp13.xyyy;
  369. // 97: add
  370. reg_tmp12.xy = (uniforms.f[33].xyyy + reg_tmp12.xyyy).xy;
  371. return false;
  372. }
  373.  
  374. bool sub_99_107() {
  375. // 99: mov
  376. reg_tmp12.xyzw = vs_in_reg4.xyzw;
  377. // 100: mul
  378. reg_tmp12.xyzw = uniforms.f[17].yyyy * reg_tmp12.xyzw;
  379. // 101: mov
  380. reg_tmp13.xyzw = uniforms.f[32].xyzw;
  381. // 102: mul
  382. reg_tmp13.xyzw = uniforms.f[30].xxxx * reg_tmp13.xyzw;
  383. // 103: flr
  384. reg_tmp14.xy = (floor(reg_tmp13.xyyy)).xy;
  385. // 104: add
  386. reg_tmp13.xy = (reg_tmp13.xyyy + -reg_tmp14.xyyy).xy;
  387. // 105: add
  388. reg_tmp12.xyzw = reg_tmp12.xyyy + reg_tmp13.xyyy;
  389. // 106: add
  390. reg_tmp12.xy = (uniforms.f[34].xyyy + reg_tmp12.xyyy).xy;
  391. return false;
  392. }
  393.  
  394. bool sub_132_143() {
  395. // 132: mov
  396. reg_tmp14.xyzw = -reg_tmp0.xyzw;
  397. // 133: dp3
  398. reg_tmp14.w = dot(vec3(reg_tmp14.xyzw), vec3(reg_tmp14.xyzw));
  399. // 134: rsq
  400. reg_tmp14.w = inversesqrt(reg_tmp14.wwww.x);
  401. // 135: mul
  402. reg_tmp14.xyzw = reg_tmp14.xyzw * reg_tmp14.wwww;
  403. // 136: dp3
  404. reg_tmp13.xyzw = vec4(dot(vec3(reg_tmp14.xyzw), vec3(reg_tmp1.xyzw)));
  405. // 137: add
  406. reg_tmp13.xyzw = reg_tmp13.xyzw + reg_tmp13.xyzw;
  407. // 138: mad
  408. reg_tmp12.xyzw = reg_tmp13.xyzw * reg_tmp1.xyzw + -reg_tmp14.xyzw;
  409. // 139: mov
  410. reg_tmp14.xyzw = uniforms.f[14].xyyy;
  411. // 140: mul
  412. reg_tmp13.xy = (uniforms.f[93].xxxx * reg_tmp14.xyyy).xy;
  413. // 141: add
  414. reg_tmp12.xy = (reg_tmp12.xyyy + reg_tmp13.xyyy).xy;
  415. // 142: mul
  416. reg_tmp12.xy = (uniforms.f[95].zzzz * reg_tmp12.xyyy).xy;
  417. return false;
  418. }
  419.  
  420. bool sub_144_4096() {
  421. // 144: dp4
  422. reg_tmp9.x = dot(vs_in_reg1.xyzw, vs_in_reg1.xyzw);
  423. // 145: mul
  424. reg_tmp12.xyz = (uniforms.f[16].xxxx * vs_in_reg0.xyzz).xyz;
  425. // 146: mov
  426. reg_tmp12.w = (uniforms.f[92].yyyy).w;
  427. // 147: mov
  428. reg_tmp11.xy = (uniforms.f[92].yzzz).xy;
  429. // 148: dp4
  430. reg_tmp13.x = dot(uniforms.f[8].xyzw, reg_tmp12.xyzw);
  431. // 149: rsq
  432. reg_tmp9.x = inversesqrt(reg_tmp9.xxxx.x);
  433. // 150: dp4
  434. reg_tmp13.y = dot(uniforms.f[9].xyzw, reg_tmp12.xyzw);
  435. // 151: dp4
  436. reg_tmp13.z = dot(uniforms.f[10].xyzw, reg_tmp12.xyzw);
  437. // 152: dp4
  438. reg_tmp13.w = dot(uniforms.f[11].xyzw, reg_tmp12.xyzw);
  439. // 153: mul
  440. reg_tmp9.xyzw = vs_in_reg1.xyzw * reg_tmp9.xxxx;
  441. // 154: mov
  442. reg_tmp14.xyzw = uniforms.f[92].yyyy;
  443. // 155: mov
  444. reg_tmp15.w = (uniforms.f[92].xxxx).w;
  445. // 156: dp3
  446. reg_tmp8.x = dot(vec3(uniforms.f[8].xyzw), vec3(reg_tmp9.xyzw));
  447. // 157: dp3
  448. reg_tmp8.y = dot(vec3(uniforms.f[9].xyzw), vec3(reg_tmp9.xyzw));
  449. // 158: dp3
  450. reg_tmp8.z = dot(vec3(uniforms.f[10].xyzw), vec3(reg_tmp9.xyzw));
  451. // 159: dp4
  452. reg_tmp0.x = dot(uniforms.f[12].xyzw, reg_tmp13.xyzw);
  453. // 160: dp4
  454. reg_tmp0.y = dot(uniforms.f[13].xyzw, reg_tmp13.xyzw);
  455. // 161: dp4
  456. reg_tmp0.z = dot(uniforms.f[14].xyzw, reg_tmp13.xyzw);
  457. // 162: dp4
  458. reg_tmp0.w = dot(uniforms.f[15].xyzw, reg_tmp13.xyzw);
  459. // 163: dp3
  460. reg_tmp15.x = dot(vec3(uniforms.f[12].xyzw), vec3(reg_tmp8.xyzw));
  461. // 164: dp3
  462. reg_tmp15.y = dot(vec3(uniforms.f[13].xyzw), vec3(reg_tmp8.xyzw));
  463. // 165: dp3
  464. reg_tmp15.z = dot(vec3(uniforms.f[14].xyzw), vec3(reg_tmp8.xyzw));
  465. // 166: ifu
  466. if (uniforms.b[0]) {
  467. sub_167_169();
  468. }
  469. // 169: dp4
  470. reg_tmp6.x = dot(uniforms.f[0].xyzw, reg_tmp0.xyzw);
  471. // 170: dp4
  472. reg_tmp6.y = dot(uniforms.f[1].xyzw, reg_tmp0.xyzw);
  473. // 171: dp4
  474. reg_tmp6.z = dot(uniforms.f[2].xyzw, reg_tmp0.xyzw);
  475. // 172: dp4
  476. reg_tmp6.w = dot(uniforms.f[3].xyzw, reg_tmp0.xyzw);
  477. // 173: dp4
  478. reg_tmp1.x = dot(reg_tmp15.xyzw, reg_tmp15.xyzw);
  479. // 174: mov
  480. vs_out_attr1.xyzw = reg_tmp14.xyzw;
  481. // 175: mov
  482. reg_tmp12.xyzw = uniforms.f[92].xxxx;
  483. // 176: ifu
  484. if (uniforms.b[2]) {
  485. sub_177_179();
  486. }
  487. // 179: rsq
  488. reg_tmp1.x = inversesqrt(reg_tmp1.xxxx.x);
  489. // 180: mul
  490. reg_tmp7.xy = (uniforms.f[88].xyyy * -reg_tmp6.wwww).xy;
  491. // 181: cmp
  492. conditional_code = equal(vec2(uniforms.f[22].xxxx), vec2(reg_tmp11.xxxx));
  493. // 182: mov
  494. vs_out_attr6.xyzw = reg_tmp12.xyzw;
  495. // 183: mov
  496. reg_tmp8.xyzw = reg_tmp12.xyzw;
  497. // 184: mul
  498. reg_tmp1.xyzw = reg_tmp15.xyzw * reg_tmp1.xxxx;
  499. // 185: ifc
  500. if (conditional_code.x) {
  501. sub_186_197();
  502. }
  503. // 197: cmp
  504. conditional_code = equal(vec2(uniforms.f[22].xxxx), vec2(reg_tmp11.yyyy));
  505. // 198: ifc
  506. if (conditional_code.x) {
  507. sub_199_201();
  508. }
  509. // 201: mov
  510. vs_out_attr2.xyzw = reg_tmp12.xyww;
  511. // 202: ifu
  512. if (uniforms.b[3]) {
  513. sub_203_206();
  514. }
  515. // 206: cmp
  516. conditional_code = equal(vec2(uniforms.f[22].yyyy), vec2(reg_tmp11.yyyy));
  517. // 207: ifc
  518. if (conditional_code.x) {
  519. sub_208_211();
  520. }
  521. // 211: cmp
  522. conditional_code.x = reg_tmp6.xxxx.x < reg_tmp7.xyyy.x;
  523. conditional_code.y = reg_tmp6.xxxx.y > reg_tmp7.xyyy.y;
  524. // 212: mov
  525. vs_out_attr5.xyzw = reg_tmp8.xyzw;
  526. // 213: ifc
  527. if (all(conditional_code)) {
  528. sub_214_215();
  529. }
  530. // 215: mov
  531. vs_out_attr0.xyzw = reg_tmp6.xyzw;
  532. // 216: mov
  533. vs_out_attr4.xyzw = -reg_tmp0.xyzw;
  534. // 217: ifu
  535. if (uniforms.b[1]) {
  536. sub_218_220();
  537. } else {
  538. sub_220_222();
  539. }
  540. // 222: end
  541. return true;
  542. }
  543.  
  544. bool sub_167_169() {
  545. // 167: mul
  546. reg_tmp13.xyzw = uniforms.f[93].yyyy * vs_in_reg2.xyzw;
  547. // 168: mul
  548. reg_tmp14.xyzw = reg_tmp14.xyzw * reg_tmp13.xyzw;
  549. return false;
  550. }
  551.  
  552. bool sub_177_179() {
  553. // 177: call
  554. {
  555. sub_90_98();
  556. }
  557. // 178: nop
  558. return false;
  559. }
  560.  
  561. bool sub_186_197() {
  562. // 186: mul
  563. reg_tmp13.xyz = (uniforms.f[16].xxxx * vs_in_reg0.xyzz).xyz;
  564. // 187: mov
  565. reg_tmp13.w = (uniforms.f[92].yyyy).w;
  566. // 188: dp4
  567. reg_tmp12.x = dot(uniforms.f[18].xyzw, reg_tmp13.xyzw);
  568. // 189: dp4
  569. reg_tmp12.y = dot(uniforms.f[19].xyzw, reg_tmp13.xyzw);
  570. // 190: dp4
  571. reg_tmp12.z = dot(uniforms.f[20].xyzw, reg_tmp13.xyzw);
  572. // 191: dp4
  573. reg_tmp12.w = dot(uniforms.f[21].xyzw, reg_tmp13.xyzw);
  574. // 192: mul
  575. reg_tmp12.x = (-uniforms.f[93].zzzz * reg_tmp12.xxxx).x;
  576. // 193: mul
  577. reg_tmp12.y = (-uniforms.f[93].zzzz * reg_tmp12.yyyy).y;
  578. // 194: mul
  579. reg_tmp13.xy = (uniforms.f[93].zzzz * reg_tmp12.wwww).xy;
  580. // 195: add
  581. reg_tmp12.xy = (reg_tmp12.xyyy + reg_tmp13.xyyy).xy;
  582. // 196: nop
  583. return false;
  584. }
  585.  
  586. bool sub_199_201() {
  587. // 199: call
  588. {
  589. sub_132_143();
  590. }
  591. // 200: nop
  592. return false;
  593. }
  594.  
  595. bool sub_203_206() {
  596. // 203: call
  597. {
  598. sub_99_107();
  599. }
  600. // 204: mov
  601. reg_tmp8.xyzw = reg_tmp12.xyzw;
  602. // 205: nop
  603. return false;
  604. }
  605.  
  606. bool sub_208_211() {
  607. // 208: call
  608. {
  609. sub_132_143();
  610. }
  611. // 209: mov
  612. reg_tmp8.xyzw = reg_tmp12.xyzw;
  613. // 210: nop
  614. return false;
  615. }
  616.  
  617. bool sub_214_215() {
  618. // 214: mov
  619. reg_tmp6.x = (-reg_tmp6.wwww).x;
  620. return false;
  621. }
  622.  
  623. bool sub_218_220() {
  624. // 218: call
  625. {
  626. sub_12_89();
  627. }
  628. // 219: nop
  629. return false;
  630. }
  631.  
  632. bool sub_220_222() {
  633. // 220: call
  634. {
  635. sub_0_11();
  636. }
  637. // 221: nop
  638. return false;
  639. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement