Advertisement
Guest User

Untitled

a guest
Dec 9th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 45.18 KB | None | 0 0
  1. #version 430 core
  2. #extension GL_ARB_separate_shader_objects : enable
  3.  
  4. #define MAX_CONSTBUFFER_ELEMENTS 4096
  5. bool exec_fragment();
  6.  
  7. layout(location = 0) out vec4 FragColor0;
  8. layout(location = 1) out vec4 FragColor1;
  9. layout(location = 2) out vec4 FragColor2;
  10. layout(location = 3) out vec4 FragColor3;
  11. layout(location = 4) out vec4 FragColor4;
  12. layout(location = 5) out vec4 FragColor5;
  13. layout(location = 6) out vec4 FragColor6;
  14. layout(location = 7) out vec4 FragColor7;
  15.  
  16. layout (location = 0) in vec4 position;
  17.  
  18. layout (std140) uniform fs_config {
  19.     vec4 viewport_flip;
  20.     uvec4 config_pack; // instance_id, flip_stage, y_direction, padding
  21.     uvec4 alpha_test;
  22. };
  23.  
  24. bool AlphaFunc(in float value) {
  25.     float ref = uintBitsToFloat(alpha_test[2]);
  26.     switch (alpha_test[1]) {
  27.         case 1:
  28.             return false;
  29.         case 2:
  30.             return value < ref;
  31.         case 3:
  32.             return value == ref;
  33.         case 4:
  34.             return value <= ref;
  35.         case 5:
  36.             return value > ref;
  37.         case 6:
  38.             return value != ref;
  39.         case 7:
  40.             return value >= ref;
  41.         case 8:
  42.             return true;
  43.         default:
  44.             return false;
  45.     }
  46. }
  47.  
  48. void main() {
  49.     exec_fragment();
  50. }
  51.  
  52. float reg_0_fragment = 0;
  53. float reg_1_fragment = 0;
  54. float reg_2_fragment = 0;
  55. float reg_3_fragment = 0;
  56. float reg_4_fragment = 0;
  57. float reg_5_fragment = 0;
  58. float reg_6_fragment = 0;
  59. float reg_7_fragment = 0;
  60. float reg_8_fragment = 0;
  61. float reg_9_fragment = 0;
  62. float reg_10_fragment = 0;
  63. float reg_11_fragment = 0;
  64. float reg_12_fragment = 0;
  65. float reg_13_fragment = 0;
  66. float reg_14_fragment = 0;
  67. float reg_15_fragment = 0;
  68. float reg_16_fragment = 0;
  69. float reg_17_fragment = 0;
  70. float reg_18_fragment = 0;
  71. float reg_19_fragment = 0;
  72. float reg_20_fragment = 0;
  73. float reg_21_fragment = 0;
  74. float reg_22_fragment = 0;
  75. float reg_23_fragment = 0;
  76. float reg_24_fragment = 0;
  77. float reg_25_fragment = 0;
  78. float reg_26_fragment = 0;
  79. float reg_27_fragment = 0;
  80. float reg_28_fragment = 0;
  81. float reg_29_fragment = 0;
  82. float reg_30_fragment = 0;
  83. float reg_31_fragment = 0;
  84. float reg_32_fragment = 0;
  85. float reg_33_fragment = 0;
  86. float reg_34_fragment = 0;
  87. float reg_35_fragment = 0;
  88. float reg_36_fragment = 0;
  89. float reg_37_fragment = 0;
  90. float reg_38_fragment = 0;
  91. float reg_39_fragment = 0;
  92. float reg_40_fragment = 0;
  93. float reg_41_fragment = 0;
  94. float reg_42_fragment = 0;
  95. float reg_43_fragment = 0;
  96. float reg_44_fragment = 0;
  97. float reg_45_fragment = 0;
  98. float reg_46_fragment = 0;
  99. float reg_47_fragment = 0;
  100. float reg_48_fragment = 0;
  101. float reg_49_fragment = 0;
  102. float reg_50_fragment = 0;
  103. float reg_51_fragment = 0;
  104. float reg_52_fragment = 0;
  105. float reg_53_fragment = 0;
  106. float reg_54_fragment = 0;
  107. float reg_55_fragment = 0;
  108. float reg_56_fragment = 0;
  109. float reg_57_fragment = 0;
  110. float reg_58_fragment = 0;
  111. float reg_59_fragment = 0;
  112. float reg_60_fragment = 0;
  113. float reg_61_fragment = 0;
  114. float reg_62_fragment = 0;
  115. float reg_63_fragment = 0;
  116. float reg_64_fragment = 0;
  117. float reg_65_fragment = 0;
  118. float reg_66_fragment = 0;
  119. float reg_67_fragment = 0;
  120. float reg_68_fragment = 0;
  121. float reg_69_fragment = 0;
  122. float reg_70_fragment = 0;
  123. float reg_71_fragment = 0;
  124. float reg_72_fragment = 0;
  125. float reg_73_fragment = 0;
  126. float reg_74_fragment = 0;
  127. float reg_75_fragment = 0;
  128. float reg_76_fragment = 0;
  129. float reg_77_fragment = 0;
  130. float reg_78_fragment = 0;
  131. float reg_79_fragment = 0;
  132. float reg_80_fragment = 0;
  133. float reg_81_fragment = 0;
  134. float reg_82_fragment = 0;
  135. float reg_83_fragment = 0;
  136. float reg_84_fragment = 0;
  137. float reg_85_fragment = 0;
  138. float reg_86_fragment = 0;
  139. float reg_87_fragment = 0;
  140. float reg_88_fragment = 0;
  141. float reg_89_fragment = 0;
  142. float reg_90_fragment = 0;
  143. float reg_91_fragment = 0;
  144. float reg_92_fragment = 0;
  145. float reg_93_fragment = 0;
  146. float reg_94_fragment = 0;
  147. float reg_95_fragment = 0;
  148. float reg_96_fragment = 0;
  149. float reg_97_fragment = 0;
  150. float reg_98_fragment = 0;
  151. float reg_99_fragment = 0;
  152. float reg_100_fragment = 0;
  153. float reg_101_fragment = 0;
  154. float reg_102_fragment = 0;
  155. float reg_103_fragment = 0;
  156. float reg_104_fragment = 0;
  157. float reg_105_fragment = 0;
  158. float reg_106_fragment = 0;
  159. float reg_107_fragment = 0;
  160. float reg_108_fragment = 0;
  161. float reg_109_fragment = 0;
  162. float reg_110_fragment = 0;
  163. float reg_111_fragment = 0;
  164. float reg_112_fragment = 0;
  165. float reg_113_fragment = 0;
  166. float reg_114_fragment = 0;
  167. float reg_115_fragment = 0;
  168. float reg_116_fragment = 0;
  169. float reg_117_fragment = 0;
  170. float reg_118_fragment = 0;
  171. float reg_119_fragment = 0;
  172. float reg_120_fragment = 0;
  173. float reg_121_fragment = 0;
  174. float reg_122_fragment = 0;
  175. float reg_123_fragment = 0;
  176. float reg_124_fragment = 0;
  177. float reg_125_fragment = 0;
  178. float reg_126_fragment = 0;
  179. float reg_127_fragment = 0;
  180. float reg_128_fragment = 0;
  181. float reg_129_fragment = 0;
  182. float reg_130_fragment = 0;
  183. float reg_131_fragment = 0;
  184. float reg_132_fragment = 0;
  185. float reg_133_fragment = 0;
  186. float reg_134_fragment = 0;
  187. float reg_135_fragment = 0;
  188. float reg_136_fragment = 0;
  189. float reg_137_fragment = 0;
  190. float reg_138_fragment = 0;
  191. float reg_139_fragment = 0;
  192. float reg_140_fragment = 0;
  193. float reg_141_fragment = 0;
  194. float reg_142_fragment = 0;
  195. float reg_143_fragment = 0;
  196. float reg_144_fragment = 0;
  197. float reg_145_fragment = 0;
  198. float reg_146_fragment = 0;
  199. float reg_147_fragment = 0;
  200. float reg_148_fragment = 0;
  201. float reg_149_fragment = 0;
  202. float reg_150_fragment = 0;
  203. float reg_151_fragment = 0;
  204. float reg_152_fragment = 0;
  205. float reg_153_fragment = 0;
  206. float reg_154_fragment = 0;
  207. float reg_155_fragment = 0;
  208. float reg_156_fragment = 0;
  209. float reg_157_fragment = 0;
  210. float reg_158_fragment = 0;
  211. float reg_159_fragment = 0;
  212. float reg_160_fragment = 0;
  213. float reg_161_fragment = 0;
  214. float reg_162_fragment = 0;
  215. float reg_163_fragment = 0;
  216. float reg_164_fragment = 0;
  217. float reg_165_fragment = 0;
  218. float reg_166_fragment = 0;
  219. float reg_167_fragment = 0;
  220. float reg_168_fragment = 0;
  221. float reg_169_fragment = 0;
  222. float reg_170_fragment = 0;
  223. float reg_171_fragment = 0;
  224. float reg_172_fragment = 0;
  225. float reg_173_fragment = 0;
  226. float reg_174_fragment = 0;
  227. float reg_175_fragment = 0;
  228. float reg_176_fragment = 0;
  229. float reg_177_fragment = 0;
  230. float reg_178_fragment = 0;
  231. float reg_179_fragment = 0;
  232. float reg_180_fragment = 0;
  233. float reg_181_fragment = 0;
  234. float reg_182_fragment = 0;
  235. float reg_183_fragment = 0;
  236. float reg_184_fragment = 0;
  237. float reg_185_fragment = 0;
  238. float reg_186_fragment = 0;
  239. float reg_187_fragment = 0;
  240. float reg_188_fragment = 0;
  241. float reg_189_fragment = 0;
  242. float reg_190_fragment = 0;
  243. float reg_191_fragment = 0;
  244. float reg_192_fragment = 0;
  245. float reg_193_fragment = 0;
  246. float reg_194_fragment = 0;
  247. float reg_195_fragment = 0;
  248. float reg_196_fragment = 0;
  249. float reg_197_fragment = 0;
  250. float reg_198_fragment = 0;
  251. float reg_199_fragment = 0;
  252. float reg_200_fragment = 0;
  253. float reg_201_fragment = 0;
  254. float reg_202_fragment = 0;
  255. float reg_203_fragment = 0;
  256. float reg_204_fragment = 0;
  257. float reg_205_fragment = 0;
  258. float reg_206_fragment = 0;
  259. float reg_207_fragment = 0;
  260. float reg_208_fragment = 0;
  261. float reg_209_fragment = 0;
  262. float reg_210_fragment = 0;
  263. float reg_211_fragment = 0;
  264. float reg_212_fragment = 0;
  265. float reg_213_fragment = 0;
  266. float reg_214_fragment = 0;
  267. float reg_215_fragment = 0;
  268. float reg_216_fragment = 0;
  269. float reg_217_fragment = 0;
  270. float reg_218_fragment = 0;
  271. float reg_219_fragment = 0;
  272. float reg_220_fragment = 0;
  273. float reg_221_fragment = 0;
  274. float reg_222_fragment = 0;
  275. float reg_223_fragment = 0;
  276. float reg_224_fragment = 0;
  277. float reg_225_fragment = 0;
  278. float reg_226_fragment = 0;
  279. float reg_227_fragment = 0;
  280. float reg_228_fragment = 0;
  281. float reg_229_fragment = 0;
  282. float reg_230_fragment = 0;
  283. float reg_231_fragment = 0;
  284. float reg_232_fragment = 0;
  285. float reg_233_fragment = 0;
  286. float reg_234_fragment = 0;
  287. float reg_235_fragment = 0;
  288. float reg_236_fragment = 0;
  289. float reg_237_fragment = 0;
  290. float reg_238_fragment = 0;
  291. float reg_239_fragment = 0;
  292. float reg_240_fragment = 0;
  293. float reg_241_fragment = 0;
  294. float reg_242_fragment = 0;
  295. float reg_243_fragment = 0;
  296. float reg_244_fragment = 0;
  297. float reg_245_fragment = 0;
  298. float reg_246_fragment = 0;
  299. float reg_247_fragment = 0;
  300. float reg_248_fragment = 0;
  301. float reg_249_fragment = 0;
  302. float reg_250_fragment = 0;
  303. float reg_251_fragment = 0;
  304. float reg_252_fragment = 0;
  305. float reg_253_fragment = 0;
  306. float reg_254_fragment = 0;
  307. float reg_255_fragment = 0;
  308.  
  309. bool zero_flag_fragment = false;
  310. bool sign_flag_fragment = false;
  311. bool carry_flag_fragment = false;
  312. bool overflow_flag_fragment = false;
  313.  
  314. layout (location = 1) in vec4 input_attribute_0;
  315. layout (location = 2) in vec4 input_attribute_1;
  316. layout (location = 3) in vec4 input_attribute_2;
  317. layout (location = 5) in vec4 input_attribute_4;
  318. layout (location = 4) noperspective in vec4 input_attribute_3;
  319.  
  320.  
  321. layout (std140) uniform buffer_fs_c1
  322. {
  323.     vec4 c1[MAX_CONSTBUFFER_ELEMENTS];
  324. };
  325.  
  326. layout (std140) uniform buffer_fs_c4
  327. {
  328.     vec4 c4[MAX_CONSTBUFFER_ELEMENTS];
  329. };
  330.  
  331. layout (std140) uniform buffer_fs_c5
  332. {
  333.     vec4 c5[MAX_CONSTBUFFER_ELEMENTS];
  334. };
  335.  
  336. layout (std140) uniform buffer_fs_c9
  337. {
  338.     vec4 c9[MAX_CONSTBUFFER_ELEMENTS];
  339. };
  340.  
  341. layout (std140) uniform buffer_fs_c10
  342. {
  343.     vec4 c10[MAX_CONSTBUFFER_ELEMENTS];
  344. };
  345.  
  346. layout (std140) uniform buffer_fs_c12
  347. {
  348.     vec4 c12[MAX_CONSTBUFFER_ELEMENTS];
  349. };
  350.  
  351. layout (std140) uniform buffer_fs_c16
  352. {
  353.     vec4 c16[MAX_CONSTBUFFER_ELEMENTS];
  354. };
  355.  
  356.  
  357. uniform sampler2D tex_fs_0;
  358. uniform sampler2D tex_fs_1;
  359. uniform samplerCube tex_fs_2;
  360. uniform sampler2D tex_fs_3;
  361. uniform sampler2D tex_fs_4;
  362. uniform sampler2D tex_fs_5;
  363.  
  364. bool p0_fragment = false;
  365.  
  366. bool sub_10_4096_fragment();
  367.  
  368. bool exec_fragment() {
  369.     sub_10_4096_fragment();
  370.     return true;
  371. }
  372.  
  373. bool sub_10_4096_fragment() {
  374.     // 11: FSETP_C (0x4bb283a40007ff07)
  375.     p0_fragment = ((0) == (c9[0][0])) && (true);
  376.     // 12: IPA (0xe003ff87cff7ff14)
  377.     reg_20_fragment = vec4(gl_FragCoord.x, gl_FragCoord.y, gl_FragCoord.z, 1.0).w;
  378.     // 13: MOV32_IMM (0x0103f0000007f01c)
  379.     reg_28_fragment = (uintBitsToFloat(1056964608));
  380.     // 15: KIL (0xe33000000000000f)
  381.     if (p0_fragment)
  382.     {
  383.         if (true) {
  384.             discard;
  385.         }
  386.     }
  387.     // 16: MUFU (0x5080000000471414)
  388.     reg_20_fragment = (1.0 / reg_20_fragment);
  389.     // 17: IPA (0xe043ff880147ff0a)
  390.     reg_10_fragment = input_attribute_0.x;
  391.     // 19: IPA (0xe043ff884147ff0b)
  392.     reg_11_fragment = input_attribute_0.y;
  393.     // 20: IPA (0xe043ff888147ff04)
  394.     reg_4_fragment = input_attribute_0.z;
  395.     // 21: IPA (0xe043ff89c147ff20)
  396.     reg_32_fragment = input_attribute_1.w;
  397.     // 23: IPA (0xe043ff898147ff21)
  398.     reg_33_fragment = input_attribute_1.z;
  399.     // 24: IPA (0xe043ff8ac147ff1f)
  400.     reg_31_fragment = input_attribute_2.w;
  401.     // 25: FMUL_R (0x5c68100000a70a00)
  402.     reg_0_fragment = (reg_10_fragment * reg_10_fragment);
  403.     // 27: FFMA_RR (0x59a0000000b70b01)
  404.     reg_1_fragment = (fma(reg_11_fragment, reg_11_fragment, reg_0_fragment));
  405.     // 28: FFMA_RR (0x59a0008000470401)
  406.     reg_1_fragment = (fma(reg_4_fragment, reg_4_fragment, reg_1_fragment));
  407.     // 29: MUFU (0x5080000000570101)
  408.     reg_1_fragment = (inversesqrt(reg_1_fragment));
  409.     // 31: FMUL_C (0x4c68101000d72000)
  410.     reg_0_fragment = (reg_32_fragment * c4[3][1]);
  411.     // 32: FMUL_C (0x4c68101001572002)
  412.     reg_2_fragment = (reg_32_fragment * c4[5][1]);
  413.     // 33: FMUL_C (0x4c68101001172003)
  414.     reg_3_fragment = (reg_32_fragment * c4[4][1]);
  415.     // 35: FFMA_CR (0x49a0001000c72105)
  416.     reg_5_fragment = (fma(reg_33_fragment, c4[3][0], reg_0_fragment));
  417.     // 36: FMUL_R (0x5c68100000170b0b)
  418.     reg_11_fragment = (reg_11_fragment * reg_1_fragment);
  419.     // 37: FMUL_R (0x5c68100000170a0a)
  420.     reg_10_fragment = (reg_10_fragment * reg_1_fragment);
  421.     // 39: FMUL_R (0x5c68100000170404)
  422.     reg_4_fragment = (reg_4_fragment * reg_1_fragment);
  423.     // 40: FMUL_C (0x4c68101000170b00)
  424.     reg_0_fragment = (reg_11_fragment * c4[0][1]);
  425.     // 41: FMUL_C (0x4c68101000570b01)
  426.     reg_1_fragment = (reg_11_fragment * c4[1][1]);
  427.     // 43: FFMA_CR (0x49a0011001472102)
  428.     reg_2_fragment = (fma(reg_33_fragment, c4[5][0], reg_2_fragment));
  429.     // 44: FFMA_CR (0x49a0019001072106)
  430.     reg_6_fragment = (fma(reg_33_fragment, c4[4][0], reg_3_fragment));
  431.     // 45: FFMA_CR (0x49a0029000e71f05)
  432.     reg_5_fragment = (fma(reg_31_fragment, c4[3][2], reg_5_fragment));
  433.     // 47: FFMA_CR (0x49a0001000070a23)
  434.     reg_35_fragment = (fma(reg_10_fragment, c4[0][0], reg_0_fragment));
  435.     // 48: FMUL_C (0x4c68101000970b00)
  436.     reg_0_fragment = (reg_11_fragment * c4[2][1]);
  437.     // 49: FFMA_CR (0x49a0009000470a01)
  438.     reg_1_fragment = (fma(reg_10_fragment, c4[1][0], reg_1_fragment));
  439.     // 51: FFMA_CR (0x49a0011001671f02)
  440.     reg_2_fragment = (fma(reg_31_fragment, c4[5][2], reg_2_fragment));
  441.     // 52: FFMA_CR (0x49a0031001271f06)
  442.     reg_6_fragment = (fma(reg_31_fragment, c4[4][2], reg_6_fragment));
  443.     // 53: FADD_C (0x4c58101000f70505)
  444.     reg_5_fragment = (reg_5_fragment + c4[3][3]);
  445.     // 55: FFMA_CR (0x49a0119000270423)
  446.     reg_35_fragment = (fma(reg_4_fragment, c4[0][2], reg_35_fragment));
  447.     // 56: FFMA_CR (0x49a0001000870a25)
  448.     reg_37_fragment = (fma(reg_10_fragment, c4[2][0], reg_0_fragment));
  449.     // 57: IPA (0xe043ff8c0147ff00)
  450.     reg_0_fragment = input_attribute_4.x;
  451.     // 59: FFMA_CR (0x49a0009000670422)
  452.     reg_34_fragment = (fma(reg_4_fragment, c4[1][2], reg_1_fragment));
  453.     // 60: IPA (0xe043ff8c4147ff01)
  454.     reg_1_fragment = input_attribute_4.y;
  455.     // 61: FADD_C (0x4c58101001770202)
  456.     reg_2_fragment = (reg_2_fragment + c4[5][3]);
  457.     // 63: FADD_C (0x4c58101001370608)
  458.     reg_8_fragment = (reg_6_fragment + c4[4][3]);
  459.     // 64: FFMA_CR (0x49a1028400072305)
  460.     reg_5_fragment = (fma(reg_35_fragment, -c1[0][0], reg_5_fragment));
  461.     // 65: FFMA_CR (0x49a0129000a70425)
  462.     reg_37_fragment = (fma(reg_4_fragment, c4[2][2], reg_37_fragment));
  463.     // 67: FFMA_CR (0x49a1040400072208)
  464.     reg_8_fragment = (fma(reg_34_fragment, -c1[0][0], reg_8_fragment));
  465.     // 68: FFMA_CR (0x49a1010400072519)
  466.     reg_25_fragment = (fma(reg_37_fragment, -c1[0][0], reg_2_fragment));
  467.     // 69: FMUL_C (0x4c68103002470502)
  468.     reg_2_fragment = (reg_5_fragment * c12[9][0]);
  469.     // 71: FMUL_C (0x4c68103002070506)
  470.     reg_6_fragment = (reg_5_fragment * c12[8][0]);
  471.     // 72: FFMA_CR (0x49a0013002570802)
  472.     reg_2_fragment = (fma(reg_8_fragment, c12[9][1], reg_2_fragment));
  473.     // 73: FFMA_CR (0x49a0033002170806)
  474.     reg_6_fragment = (fma(reg_8_fragment, c12[8][1], reg_6_fragment));
  475.     // 75: FFMA_CR (0x49a0013002671902)
  476.     reg_2_fragment = (fma(reg_25_fragment, c12[9][2], reg_2_fragment));
  477.     // 76: FFMA_CR (0x49a0033002271907)
  478.     reg_7_fragment = (fma(reg_25_fragment, c12[8][2], reg_6_fragment));
  479.     // 77: FADD_C (0x4c58103002770206)
  480.     reg_6_fragment = (reg_2_fragment + c12[9][3]);
  481.     // 79: MOV_C (0x4c9807904a870002)
  482.     reg_2_fragment = (c4[298][0]);
  483.     // 80: TEX (0xc13800c0a027001d)
  484.     {
  485.         vec2 coord = vec2(reg_0_fragment,reg_1_fragment);
  486.         vec4 texture_tmp = texture(tex_fs_0, coord,reg_2_fragment);
  487.         reg_29_fragment = (texture_tmp).x;
  488.     }
  489.     // 81: FMUL_C (0x4c68103002c70503)
  490.     reg_3_fragment = (reg_5_fragment * c12[11][0]);
  491.     // 83: FFMA_CR (0x49a001b002d70803)
  492.     reg_3_fragment = (fma(reg_8_fragment, c12[11][1], reg_3_fragment));
  493.     // 84: FFMA_CR (0x49a001b002e71903)
  494.     reg_3_fragment = (fma(reg_25_fragment, c12[11][2], reg_3_fragment));
  495.     // 85: FADD_C (0x4c58103002f70303)
  496.     reg_3_fragment = (reg_3_fragment + c12[11][3]);
  497.     // 87: MUFU (0x5080000000470303)
  498.     reg_3_fragment = (1.0 / reg_3_fragment);
  499.     // 88: FADD_C (0x4c58103002370709)
  500.     reg_9_fragment = (reg_7_fragment + c12[8][3]);
  501.     // 89: FMUL_R (0x5c6810000037060e)
  502.     reg_14_fragment = (reg_6_fragment * reg_3_fragment);
  503.     // 91: FMUL_R (0x5c68100000370915)
  504.     reg_21_fragment = (reg_9_fragment * reg_3_fragment);
  505.     // 92: TEXS (0xd822030ff0e71515)
  506.     {
  507.         vec2 coord = vec2(reg_21_fragment,reg_14_fragment);
  508.         vec4 texture_tmp = texture(tex_fs_1, coord);
  509.         reg_21_fragment = (texture_tmp).x;
  510.     }
  511.     // 93: FMUL_R (0x5c68100002172106)
  512.     reg_6_fragment = (reg_33_fragment * reg_33_fragment);
  513.     // 95: FFMA_RR (0x59a0030002072006)
  514.     reg_6_fragment = (fma(reg_32_fragment, reg_32_fragment, reg_6_fragment));
  515.     // 96: FFMA_RR (0x59a0030001f71f06)
  516.     reg_6_fragment = (fma(reg_31_fragment, reg_31_fragment, reg_6_fragment));
  517.     // 97: MUFU (0x508000000057061e)
  518.     reg_30_fragment = (inversesqrt(reg_6_fragment));
  519.     // 99: FMUL_R (0x5c68100001e72116)
  520.     reg_22_fragment = (reg_33_fragment * reg_30_fragment);
  521.     // 100: FMUL_R (0x5c68100001e72017)
  522.     reg_23_fragment = (reg_32_fragment * reg_30_fragment);
  523.     // 101: FMUL_R (0x5c68100001672309)
  524.     reg_9_fragment = (reg_35_fragment * reg_22_fragment);
  525.     // 103: FMUL_R (0x5c68100001e71f18)
  526.     reg_24_fragment = (reg_31_fragment * reg_30_fragment);
  527.     // 104: FFMA_RR (0x59a0048001772207)
  528.     reg_7_fragment = (fma(reg_34_fragment, reg_23_fragment, reg_9_fragment));
  529.     // 105: FFMA_RR (0x59a003800187250c)
  530.     reg_12_fragment = (fma(reg_37_fragment, reg_24_fragment, reg_7_fragment));
  531.     // 107: FMUL_R (0x5c68100000c72209)
  532.     reg_9_fragment = (reg_34_fragment * reg_12_fragment);
  533.     // 108: FMUL_R (0x5c68100000c7250e)
  534.     reg_14_fragment = (reg_37_fragment * reg_12_fragment);
  535.     // 109: FMUL_C (0x4c68103002870505)
  536.     reg_5_fragment = (reg_5_fragment * c12[10][0]);
  537.     // 111: FMUL_R (0x5c68100000c7230c)
  538.     reg_12_fragment = (reg_35_fragment * reg_12_fragment);
  539.     // 112: FFMA_IMM (0x32a10bc000070906)
  540.     reg_6_fragment = (fma(reg_9_fragment, -uintBitsToFloat(1073741824), reg_23_fragment));
  541.     // 113: FFMA_IMM (0x32a10c4000070e0e)
  542.     reg_14_fragment = (fma(reg_14_fragment, -uintBitsToFloat(1073741824), reg_24_fragment));
  543.     // 115: FFMA_CR (0x49a002b002970808)
  544.     reg_8_fragment = (fma(reg_8_fragment, c12[10][1], reg_5_fragment));
  545.     // 116: FFMA_IMM (0x32a10b4000070c12)
  546.     reg_18_fragment = (fma(reg_12_fragment, -uintBitsToFloat(1073741824), reg_22_fragment));
  547.     // 117: FMUL_C (0x4c68101000d70607)
  548.     reg_7_fragment = (reg_6_fragment * c4[3][1]);
  549.     // 119: FADD_IMM (0x3858103f80070e05)
  550.     reg_5_fragment = (reg_14_fragment + uintBitsToFloat(1065353216));
  551.     // 120: FMUL_C (0x4c6810100117060d)
  552.     reg_13_fragment = (reg_6_fragment * c4[4][1]);
  553.     // 121: MOV_C (0x4c9807940807000c)
  554.     reg_12_fragment = (c5[32][0]);
  555.     // 123: FFMA_CR (0x49a0039000c71210)
  556.     reg_16_fragment = (fma(reg_18_fragment, c4[3][0], reg_7_fragment));
  557.     // 124: FFMA_RR (0x59a0028000570e07)
  558.     reg_7_fragment = (fma(reg_14_fragment, reg_5_fragment, reg_5_fragment));
  559.     // 125: IPA (0xe003ff8b4ff7ff05)
  560.     reg_5_fragment = input_attribute_3.y;
  561.     // 127: FMUL_R (0x5c68100000670609)
  562.     reg_9_fragment = (reg_6_fragment * reg_6_fragment);
  563.     // 128: FMUL_C (0x4c6810100157060f)
  564.     reg_15_fragment = (reg_6_fragment * c4[5][1]);
  565.     // 129: FFMA_CR (0x49a0069001071211)
  566.     reg_17_fragment = (fma(reg_18_fragment, c4[4][0], reg_13_fragment));
  567.     // 131: FFMA_RC (0x51a006100547230d)
  568.     reg_13_fragment = (fma(reg_35_fragment, reg_12_fragment, c4[21][0]));
  569.     // 132: FFMA_CR (0x49a0081000e70e10)
  570.     reg_16_fragment = (fma(reg_14_fragment, c4[3][2], reg_16_fragment));
  571.     // 133: FFMA_RR (0x59a0048001271209)
  572.     reg_9_fragment = (fma(reg_18_fragment, reg_18_fragment, reg_9_fragment));
  573.     // 135: FFMA_CR (0x49a0079001471213)
  574.     reg_19_fragment = (fma(reg_18_fragment, c4[5][0], reg_15_fragment));
  575.     // 136: FFMA_CR (0x49a0089001270e11)
  576.     reg_17_fragment = (fma(reg_14_fragment, c4[4][2], reg_17_fragment));
  577.     // 137: FFMA_RC (0x51a006100557221a)
  578.     reg_26_fragment = (fma(reg_34_fragment, reg_12_fragment, c4[21][1]));
  579.     // 139: FMUL_R (0x5c68100000d7160d)
  580.     reg_13_fragment = (reg_22_fragment * reg_13_fragment);
  581.     // 140: FMNMX_R (0x5c62578000b70a26)
  582.     reg_38_fragment = ((!(true)) ? min(abs(reg_10_fragment),abs(reg_11_fragment)) : max(abs(reg_10_fragment),abs(reg_11_fragment)));
  583.     // 141: FADD_R (0x5c5810000097070f)
  584.     reg_15_fragment = (reg_7_fragment + reg_9_fragment);
  585.     // 143: IPA (0xe003ff8b0ff7ff09)
  586.     reg_9_fragment = input_attribute_3.x;
  587.     // 144: FFMA_CR (0x49a0099001670e0e)
  588.     reg_14_fragment = (fma(reg_14_fragment, c4[5][2], reg_19_fragment));
  589.     // 145: MUFU (0x5080000000570f0f)
  590.     reg_15_fragment = (inversesqrt(reg_15_fragment));
  591.     // 147: FMNMX_R (0x5c62578001171007)
  592.     reg_7_fragment = ((!(true)) ? min(abs(reg_16_fragment),abs(reg_17_fragment)) : max(abs(reg_16_fragment),abs(reg_17_fragment)));
  593.     // 148: FFMA_RR (0x59a0068001a7171b)
  594.     reg_27_fragment = (fma(reg_23_fragment, reg_26_fragment, reg_13_fragment));
  595.     // 149: FMNMX_R (0x5c6057800267040d)
  596.     reg_13_fragment = ((!(true)) ? min(abs(reg_4_fragment),reg_38_fragment) : max(abs(reg_4_fragment),reg_38_fragment));
  597.     // 151: MUFU (0x5080000000470d0d)
  598.     reg_13_fragment = (1.0 / reg_13_fragment);
  599.     // 152: FMNMX_R (0x5c60578000770e07)
  600.     reg_7_fragment = ((!(true)) ? min(abs(reg_14_fragment),reg_7_fragment) : max(abs(reg_14_fragment),reg_7_fragment));
  601.     // 153: MUFU (0x5080000000470707)
  602.     reg_7_fragment = (1.0 / reg_7_fragment);
  603.     // 155: FFMA_CR (0x49a0043002a71919)
  604.     reg_25_fragment = (fma(reg_25_fragment, c12[10][2], reg_8_fragment));
  605.     // 156: FFMA_IMM (0x32a00e3f00070508)
  606.     reg_8_fragment = (fma(reg_5_fragment, uintBitsToFloat(1056964608), reg_28_fragment));
  607.     // 157: FMUL_R (0x5c68100000d70a0a)
  608.     reg_10_fragment = (reg_10_fragment * reg_13_fragment);
  609.     // 159: FMUL_R (0x5c68100000d70b0b)
  610.     reg_11_fragment = (reg_11_fragment * reg_13_fragment);
  611.     // 160: FMUL_R (0x5c69100000d70404)
  612.     reg_4_fragment = (reg_4_fragment * -(reg_13_fragment));
  613.     // 161: MOV32_IMM (0x01040a000007f005)
  614.     reg_5_fragment = (uintBitsToFloat(1084227584));
  615.     // 163: FMUL_R (0x5c68100000f71212)
  616.     reg_18_fragment = (reg_18_fragment * reg_15_fragment);
  617.     // 164: TEXS (0xd9b201a040470a0a)
  618.     {
  619.         vec3 coord = vec3(reg_10_fragment,reg_11_fragment,reg_4_fragment);
  620.         vec4 texture_tmp = textureLod(tex_fs_2, coord,reg_5_fragment);
  621.         reg_10_fragment = (texture_tmp).x;
  622.         reg_11_fragment = (texture_tmp).y;
  623.         reg_4_fragment = (texture_tmp).z;
  624.         reg_5_fragment = (texture_tmp).w;
  625.     }
  626.     // 165: FMUL_R (0x5c68100000f70606)
  627.     reg_6_fragment = (reg_6_fragment * reg_15_fragment);
  628.     // 167: FMUL_R (0x5c68100000771010)
  629.     reg_16_fragment = (reg_16_fragment * reg_7_fragment);
  630.     // 168: FMUL_R (0x5c68100000771111)
  631.     reg_17_fragment = (reg_17_fragment * reg_7_fragment);
  632.     // 169: FMUL_R (0x5c69100000770e0e)
  633.     reg_14_fragment = (reg_14_fragment * -(reg_7_fragment));
  634.     // 171: FFMA_RC (0x51a0061005672526)
  635.     reg_38_fragment = (fma(reg_37_fragment, reg_12_fragment, c4[21][2]));
  636.     // 172: MOV_C (0x4c98079407e7001a)
  637.     reg_26_fragment = (c5[31][2]);
  638.     // 173: MOV32_IMM (0x0103fb8aa657f00c)
  639.     reg_12_fragment = (uintBitsToFloat(1069066853));
  640.     // 175: FFMA_IMM (0x32a00e3f00070606)
  641.     reg_6_fragment = (fma(reg_6_fragment, uintBitsToFloat(1056964608), reg_28_fragment));
  642.     // 176: FFMA_CR (0x49a0060400271a1a)
  643.     reg_26_fragment = (fma(reg_26_fragment, c1[0][2], reg_12_fragment));
  644.     // 177: MOV32_IMM (0x0103f8000007f024)
  645.     reg_36_fragment = (uintBitsToFloat(1065353216));
  646.     // 179: FFMA_IMM (0x32a00e3f00071212)
  647.     reg_18_fragment = (fma(reg_18_fragment, uintBitsToFloat(1056964608), reg_28_fragment));
  648.     // 180: FADD_IMM (0x3859103f80070613)
  649.     reg_19_fragment = (-(reg_6_fragment) + uintBitsToFloat(1065353216));
  650.     // 181: FFMA_RR (0x59a00d800267181b)
  651.     reg_27_fragment = (fma(reg_24_fragment, reg_38_fragment, reg_27_fragment));
  652.     // 183: FFMA_IMM (0x32a00e3f00070909)
  653.     reg_9_fragment = (fma(reg_9_fragment, uintBitsToFloat(1056964608), reg_28_fragment));
  654.     // 184: FADD_IMM (0x3859103f80070808)
  655.     reg_8_fragment = (-(reg_8_fragment) + uintBitsToFloat(1065353216));
  656.     // 185: FMUL_C (0x4c6c101406771d1d)
  657.     reg_29_fragment = (clamp(reg_29_fragment * c5[25][3], 0.0, 1.0));
  658.     // 187: FMUL_IMM (0x38681040a0071d0f)
  659.     reg_15_fragment = (reg_29_fragment * uintBitsToFloat(1084227584));
  660.     // 188: MUFU (0x5080000000871d0c)
  661.     reg_12_fragment = (sqrt(reg_29_fragment));
  662.     // 189: TEXS (0xd9b201a0e0e71010)
  663.     {
  664.         vec3 coord = vec3(reg_16_fragment,reg_17_fragment,reg_14_fragment);
  665.         vec4 texture_tmp = textureLod(tex_fs_2, coord,reg_15_fragment);
  666.         reg_16_fragment = (texture_tmp).x;
  667.         reg_17_fragment = (texture_tmp).y;
  668.         reg_14_fragment = (texture_tmp).z;
  669.         reg_15_fragment = (texture_tmp).w;
  670.     }
  671.     // 191: TEX (0xc13a0083a0270000)
  672.     {
  673.         vec2 coord = vec2(reg_0_fragment,reg_1_fragment);
  674.         vec4 texture_tmp = texture(tex_fs_3, coord,reg_2_fragment);
  675.         reg_0_fragment = (texture_tmp).x;
  676.         reg_1_fragment = (texture_tmp).y;
  677.         reg_2_fragment = (texture_tmp).z;
  678.     }
  679.     // 192: TEXS (0xd862034242471206)
  680.     {
  681.         vec2 coord = vec2(reg_18_fragment,reg_19_fragment);
  682.         vec4 texture_tmp = textureLod(tex_fs_4, coord,reg_36_fragment);
  683.         reg_6_fragment = (texture_tmp).x;
  684.         reg_7_fragment = (texture_tmp).y;
  685.         reg_36_fragment = (texture_tmp).z;
  686.     }
  687.     // 193: TEXS (0xd862034260c7120c)
  688.     {
  689.         vec2 coord = vec2(reg_18_fragment,reg_19_fragment);
  690.         vec4 texture_tmp = textureLod(tex_fs_4, coord,reg_12_fragment);
  691.         reg_12_fragment = (texture_tmp).x;
  692.         reg_13_fragment = (texture_tmp).y;
  693.         reg_38_fragment = (texture_tmp).z;
  694.     }
  695.     // 195: TEXS (0xd836022ff0870908)
  696.     {
  697.         vec2 coord = vec2(reg_9_fragment,reg_8_fragment);
  698.         vec4 texture_tmp = texture(tex_fs_5, coord);
  699.         reg_8_fragment = (texture_tmp).x;
  700.         reg_9_fragment = (texture_tmp).w;
  701.     }
  702.     // 196: FADD_C (0x4c5c101408171b1b)
  703.     reg_27_fragment = (clamp(reg_27_fragment + c5[32][1], 0.0, 1.0));
  704.     // 197: FADD_C (0x4c58103002b71919)
  705.     reg_25_fragment = (reg_25_fragment + c12[10][3]);
  706.     // 199: FMUL_R (0x5c69100001e72121)
  707.     reg_33_fragment = (reg_33_fragment * -(reg_30_fragment));
  708.     // 200: FFMA_RR (0x59a20d0001b71a1a)
  709.     reg_26_fragment = (fma(reg_26_fragment, reg_27_fragment, -reg_26_fragment));
  710.     // 201: FMUL_R (0x5c69100001e72020)
  711.     reg_32_fragment = (reg_32_fragment * -(reg_30_fragment));
  712.     // 203: RRO_R (0x5c90008001a7001b)
  713.     reg_27_fragment = (reg_26_fragment);
  714.     // 204: FFMA_RR (0x59a20a8000371903)
  715.     reg_3_fragment = (fma(reg_25_fragment, reg_3_fragment, -reg_21_fragment));
  716.     // 205: MUFU (0x5080000000271b15)
  717.     reg_21_fragment = (exp2(reg_27_fragment));
  718.     // 207: FADD_C (0x4c58101005472119)
  719.     reg_25_fragment = (reg_33_fragment + c4[21][0]);
  720.     // 208: FMUL_R (0x5c69100001772217)
  721.     reg_23_fragment = (reg_34_fragment * -(reg_23_fragment));
  722.     // 209: FADD_C (0x4c58101005572012)
  723.     reg_18_fragment = (reg_32_fragment + c4[21][1]);
  724.     // 211: FMUL_R (0x5c69100001e71f1e)
  725.     reg_30_fragment = (reg_31_fragment * -(reg_30_fragment));
  726.     // 212: FMUL_R (0x5c68100001971913)
  727.     reg_19_fragment = (reg_25_fragment * reg_25_fragment);
  728.     // 213: FFMA_RR (0x59a10b8001672316)
  729.     reg_22_fragment = (fma(reg_35_fragment, -reg_22_fragment, reg_23_fragment));
  730.     // 215: FADD_C (0x4c5d500400170303)
  731.     reg_3_fragment = (clamp(-(abs(reg_3_fragment)) + c1[0][1], 0.0, 1.0));
  732.     // 216: FFMA_RR (0x59a009800127121a)
  733.     reg_26_fragment = (fma(reg_18_fragment, reg_18_fragment, reg_19_fragment));
  734.     // 217: FMUL_C (0x4c68101407f71515)
  735.     reg_21_fragment = (reg_21_fragment * c5[31][3]);
  736.     // 219: FADD_C (0x4c58101005671e13)
  737.     reg_19_fragment = (reg_30_fragment + c4[21][2]);
  738.     // 220: FFMA_RR (0x59a50b0001872518)
  739.     reg_24_fragment = (clamp(fma(reg_37_fragment, -reg_24_fragment, reg_22_fragment), 0.0, 1.0));
  740.     // 221: FMUL_R (0x5c68100001570303)
  741.     reg_3_fragment = (reg_3_fragment * reg_21_fragment);
  742.     // 223: FFMA_RR (0x59a00d0001371316)
  743.     reg_22_fragment = (fma(reg_19_fragment, reg_19_fragment, reg_26_fragment));
  744.     // 224: FADD_IMM (0x3859103f80071d15)
  745.     reg_21_fragment = (-(reg_29_fragment) + uintBitsToFloat(1065353216));
  746.     // 225: MUFU (0x5080000000571616)
  747.     reg_22_fragment = (inversesqrt(reg_22_fragment));
  748.     // 227: FMUL_R (0x5c68100002172321)
  749.     reg_33_fragment = (reg_35_fragment * reg_33_fragment);
  750.     // 228: FMUL_R (0x5c68100001571515)
  751.     reg_21_fragment = (reg_21_fragment * reg_21_fragment);
  752.     // 229: MOV32_IMM (0x0104066978d7f01a)
  753.     reg_26_fragment = (uintBitsToFloat(1080465293));
  754.     // 231: FFMA_RR (0x59a0108002072220)
  755.     reg_32_fragment = (fma(reg_34_fragment, reg_32_fragment, reg_33_fragment));
  756.     // 232: FMUL_R (0x5c68100001571515)
  757.     reg_21_fragment = (reg_21_fragment * reg_21_fragment);
  758.     // 233: FMUL_R (0x5c68100001671919)
  759.     reg_25_fragment = (reg_25_fragment * reg_22_fragment);
  760.     // 235: FMUL_R (0x5c68100001671217)
  761.     reg_23_fragment = (reg_18_fragment * reg_22_fragment);
  762.     // 236: FMUL32_IMM (0x1e23fb3b6467181b)
  763.     reg_27_fragment = (reg_24_fragment * uintBitsToFloat(1068742214));
  764.     // 237: FMUL_R (0x5c68100001671313)
  765.     reg_19_fragment = (reg_19_fragment * reg_22_fragment);
  766.     // 239: FFMA_RR (0x59a0100001e7251e)
  767.     reg_30_fragment = (fma(reg_37_fragment, reg_30_fragment, reg_32_fragment));
  768.     // 240: FFMA_CR (0x49a20d0400571512)
  769.     reg_18_fragment = (fma(reg_21_fragment, c1[1][1], -reg_26_fragment));
  770.     // 241: FMUL_R (0x5c68100001972320)
  771.     reg_32_fragment = (reg_35_fragment * reg_25_fragment);
  772.     // 243: FFMA_CR (0x49a10ec000271d16)
  773.     reg_22_fragment = (fma(reg_29_fragment, -c16[0][2], reg_29_fragment));
  774.     // 244: FMUL_C (0x4c68101005471919)
  775.     reg_25_fragment = (reg_25_fragment * c4[21][0]);
  776.     // 245: FFMA_RR (0x59a00d8001271512)
  777.     reg_18_fragment = (fma(reg_21_fragment, reg_18_fragment, reg_27_fragment));
  778.     // 247: FFMA_RR (0x59a0100001772220)
  779.     reg_32_fragment = (fma(reg_34_fragment, reg_23_fragment, reg_32_fragment));
  780.     // 248: FADD_C (0x4c5810400027161b)
  781.     reg_27_fragment = (reg_22_fragment + c16[0][2]);
  782.     // 249: FMUL_C (0x4c6810100547231f)
  783.     reg_31_fragment = (reg_35_fragment * c4[21][0]);
  784.     // 251: FFMA_CR (0x49a00c9005571716)
  785.     reg_22_fragment = (fma(reg_23_fragment, c4[21][1], reg_25_fragment));
  786.     // 252: MOV32_IMM (0x0103f05d6397f01a)
  787.     reg_26_fragment = (uintBitsToFloat(1057347129));
  788.     // 253: FADD32I (0x0883fd978d571217)
  789.     reg_23_fragment = (reg_18_fragment + uintBitsToFloat(1071216853));
  790.     // 255: FFMA_RR (0x59a4100001372520)
  791.     reg_32_fragment = (clamp(fma(reg_37_fragment, reg_19_fragment, reg_32_fragment), 0.0, 1.0));
  792.     // 256: FMUL_R (0x5c68100001b71b1b)
  793.     reg_27_fragment = (reg_27_fragment * reg_27_fragment);
  794.     // 257: FFMA_CR (0x49a00f900557221f)
  795.     reg_31_fragment = (fma(reg_34_fragment, c4[21][1], reg_31_fragment));
  796.     // 259: FFMA_CR (0x49a20d040067181a)
  797.     reg_26_fragment = (fma(reg_24_fragment, c1[1][2], -reg_26_fragment));
  798.     // 260: FMUL_R (0x5c68100001771519)
  799.     reg_25_fragment = (reg_21_fragment * reg_23_fragment);
  800.     // 261: FMUL_R (0x5c68100002072020)
  801.     reg_32_fragment = (reg_32_fragment * reg_32_fragment);
  802.     // 263: FMUL_R (0x5c68100001b71b17)
  803.     reg_23_fragment = (reg_27_fragment * reg_27_fragment);
  804.     // 264: FFMA_CR (0x49a40f9005672512)
  805.     reg_18_fragment = (clamp(fma(reg_37_fragment, c4[21][2], reg_31_fragment), 0.0, 1.0));
  806.     // 265: FFMA_CR (0x49a40b100567131f)
  807.     reg_31_fragment = (clamp(fma(reg_19_fragment, c4[21][2], reg_22_fragment), 0.0, 1.0));
  808.     // 267: FFMA_RR (0x59a00c8001a71813)
  809.     reg_19_fragment = (fma(reg_24_fragment, reg_26_fragment, reg_25_fragment));
  810.     // 268: MOV32_IMM (0x0103e2cd9e87f01a)
  811.     reg_26_fragment = (uintBitsToFloat(1043126760));
  812.     // 269: FFMA_RR (0x59a2100001772019)
  813.     reg_25_fragment = (fma(reg_32_fragment, reg_23_fragment, -reg_32_fragment));
  814.     // 271: MOV32_IMM (0x010410676c97f021)
  815.     reg_33_fragment = (uintBitsToFloat(1090942665));
  816.     // 272: FFMA_CR (0x49a20d0400771520)
  817.     reg_32_fragment = (fma(reg_21_fragment, c1[1][3], -reg_26_fragment));
  818.     // 273: FADD_IMM (0x3858103f8007191a)
  819.     reg_26_fragment = (reg_25_fragment + uintBitsToFloat(1065353216));
  820.     // 275: FFMA_CR (0x49a0108400371816)
  821.     reg_22_fragment = (fma(reg_24_fragment, c1[0][3], reg_33_fragment));
  822.     // 276: FMUL_IMM (0x3868103f00071b1b)
  823.     reg_27_fragment = (reg_27_fragment * uintBitsToFloat(1056964608));
  824.     // 277: FMUL_R (0x5c68100001a71a21)
  825.     reg_33_fragment = (reg_26_fragment * reg_26_fragment);
  826.     // 279: IPA (0xe043ff8a8147ff1a)
  827.     reg_26_fragment = input_attribute_2.z;
  828.     // 280: FMUL_R (0x5c68100002071520)
  829.     reg_32_fragment = (reg_21_fragment * reg_32_fragment);
  830.     // 281: FADD_IMM (0x3859103f80071f15)
  831.     reg_21_fragment = (-(reg_31_fragment) + uintBitsToFloat(1065353216));
  832.     // 283: FMUL_R (0x5c68100001b71b1b)
  833.     reg_27_fragment = (reg_27_fragment * reg_27_fragment);
  834.     // 284: MUFU (0x5080000000371515)
  835.     reg_21_fragment = (log2(reg_21_fragment));
  836.     // 285: FMUL32_IMM (0x1e240490fdb72122)
  837.     reg_34_fragment = (reg_33_fragment * uintBitsToFloat(1078530011));
  838.     // 287: FMUL_R (0x5c68100001f71f21)
  839.     reg_33_fragment = (reg_31_fragment * reg_31_fragment);
  840.     // 288: FADD_R (0x5c5870000ff71e23)
  841.     reg_35_fragment = (abs(reg_30_fragment) + -(0));
  842.     // 289: FFMA_RC (0x51a00b0400471816)
  843.     reg_22_fragment = (fma(reg_24_fragment, reg_22_fragment, c1[1][0]));
  844.     // 291: FMNMX_C (0x4c60178400c72222)
  845.     reg_34_fragment = ((!(true)) ? min(reg_34_fragment,c1[3][0]) : max(reg_34_fragment,c1[3][0]));
  846.     // 292: FFMA_RR (0x59a1108001b72121)
  847.     reg_33_fragment = (fma(reg_33_fragment, -reg_27_fragment, reg_33_fragment));
  848.     // 293: MUFU (0x508000000047221e)
  849.     reg_30_fragment = (1.0 / reg_34_fragment);
  850.     // 295: FFMA_RC (0x51a00b0400871819)
  851.     reg_25_fragment = (fma(reg_24_fragment, reg_22_fragment, c1[2][0]));
  852.     // 296: IPA (0xe043ff8a0147ff16)
  853.     reg_22_fragment = input_attribute_2.x;
  854.     // 297: FMUL_IMM (0x38681040a007151f)
  855.     reg_31_fragment = (reg_21_fragment * uintBitsToFloat(1084227584));
  856.     // 299: IPA (0xe043ff8a4147ff18)
  857.     reg_24_fragment = input_attribute_2.y;
  858.     // 300: FADD_R (0x5c58100002171b1b)
  859.     reg_27_fragment = (reg_27_fragment + reg_33_fragment);
  860.     // 301: MUFU (0x5080000000471b1b)
  861.     reg_27_fragment = (1.0 / reg_27_fragment);
  862.     // 303: DEPBAR (0xf0f0000034470000)
  863.     // 304: MUFU (0x5080000000370505)
  864.     reg_5_fragment = (log2(reg_5_fragment));
  865.     // 305: FMNMX_R (0x5c60138002071919)
  866.     reg_25_fragment = ((true) ? min(reg_25_fragment,reg_32_fragment) : max(reg_25_fragment,reg_32_fragment));
  867.     // 307: RRO_R (0x5c90008001f7001f)
  868.     reg_31_fragment = (reg_31_fragment);
  869.     // 308: FMUL_R (0x5c68100001e71717)
  870.     reg_23_fragment = (reg_23_fragment * reg_30_fragment);
  871.     // 309: MUFU (0x5080000000271f1e)
  872.     reg_30_fragment = (exp2(reg_31_fragment));
  873.     // 311: FMUL_C (0x4c68102800070521)
  874.     reg_33_fragment = (reg_5_fragment * c10[0][0]);
  875.     // 312: FMUL_R (0x5c68100002371215)
  876.     reg_21_fragment = (reg_18_fragment * reg_35_fragment);
  877.     // 313: RRO_R (0x5c90008002170022)
  878.     reg_34_fragment = (reg_33_fragment);
  879.     // 315: FMUL_R (0x5c68100001d71d21)
  880.     reg_33_fragment = (reg_29_fragment * reg_29_fragment);
  881.     // 316: MUFU (0x508000000027221d)
  882.     reg_29_fragment = (exp2(reg_34_fragment));
  883.     // 317: FMUL_R (0x5c68100001b71515)
  884.     reg_21_fragment = (reg_21_fragment * reg_27_fragment);
  885.     // 319: FMUL_R (0x5c68100001771217)
  886.     reg_23_fragment = (reg_18_fragment * reg_23_fragment);
  887.     // 320: FFMA_IMM (0x32a10e3f0007211c)
  888.     reg_28_fragment = (fma(reg_33_fragment, -uintBitsToFloat(1056964608), reg_28_fragment));
  889.     // 321: FFMA_RR (0x59a10a8001e7151b)
  890.     reg_27_fragment = (fma(reg_21_fragment, -reg_30_fragment, reg_21_fragment));
  891.     // 323: FMUL_R (0x5c68100001e71515)
  892.     reg_21_fragment = (reg_21_fragment * reg_30_fragment);
  893.     // 324: FMUL_R (0x5c68100001c7171c)
  894.     reg_28_fragment = (reg_23_fragment * reg_28_fragment);
  895.     // 325: FMUL_C (0x4c68102800171d1d)
  896.     reg_29_fragment = (reg_29_fragment * c10[0][1]);
  897.     // 327: FFMA_CR (0x49a00a8400a71b1b)
  898.     reg_27_fragment = (fma(reg_27_fragment, c1[2][2], reg_21_fragment));
  899.     // 328: FMUL_C (0x4c68104000471c1c)
  900.     reg_28_fragment = (reg_28_fragment * c16[1][0]);
  901.     // 329: FMUL_R (0x5c68100001d70a0a)
  902.     reg_10_fragment = (reg_10_fragment * reg_29_fragment);
  903.     // 331: FMUL_R (0x5c68100000371605)
  904.     reg_5_fragment = (reg_22_fragment * reg_3_fragment);
  905.     // 332: FMUL_R (0x5c68100000371814)
  906.     reg_20_fragment = (reg_24_fragment * reg_3_fragment);
  907.     // 333: FMUL_R (0x5c68100000371a03)
  908.     reg_3_fragment = (reg_26_fragment * reg_3_fragment);
  909.     // 335: MUFU (0x5080000000370f0f)
  910.     reg_15_fragment = (log2(reg_15_fragment));
  911.     // 336: FMUL_C (0x4c68102800070f20)
  912.     reg_32_fragment = (reg_15_fragment * c10[0][0]);
  913.     // 337: FADD_R (0x5c5c30000ff7190f)
  914.     reg_15_fragment = (clamp(reg_25_fragment + -(0), 0.0, 1.0));
  915.     // 339: FADD_C (0x4c5c100400971319)
  916.     reg_25_fragment = (clamp(reg_19_fragment + c1[2][1], 0.0, 1.0));
  917.     // 340: RRO_R (0x5c90008002070020)
  918.     reg_32_fragment = (reg_32_fragment);
  919.     // 341: MUFU (0x5080000000272013)
  920.     reg_19_fragment = (exp2(reg_32_fragment));
  921.     // 343: FADD_R (0x5c59100001970f19)
  922.     reg_25_fragment = (-(reg_15_fragment) + reg_25_fragment);
  923.     // 344: DEPBAR (0xf0f0000034370000)
  924.     // 345: FMUL_C (0x4c6c101401470000)
  925.     reg_0_fragment = (clamp(reg_0_fragment * c5[5][0], 0.0, 1.0));
  926.     // 347: FMUL_C (0x4c6c101401570101)
  927.     reg_1_fragment = (clamp(reg_1_fragment * c5[5][1], 0.0, 1.0));
  928.     // 348: FMUL_C (0x4c6c101401670202)
  929.     reg_2_fragment = (clamp(reg_2_fragment * c5[5][2], 0.0, 1.0));
  930.     // 349: FFMA_CR (0x49a0078400a7190f)
  931.     reg_15_fragment = (fma(reg_25_fragment, c1[2][2], reg_15_fragment));
  932.     // 351: FMUL_C (0x4c68102800171317)
  933.     reg_23_fragment = (reg_19_fragment * c10[0][1]);
  934.     // 352: FMUL_R (0x5c68100001d70b13)
  935.     reg_19_fragment = (reg_11_fragment * reg_29_fragment);
  936.     // 353: FMUL_R (0x5c68100001d7041d)
  937.     reg_29_fragment = (reg_4_fragment * reg_29_fragment);
  938.     // 355: FMUL_R (0x5c68100001b71c04)
  939.     reg_4_fragment = (reg_28_fragment * reg_27_fragment);
  940.     // 356: FMUL_R (0x5c68100001771010)
  941.     reg_16_fragment = (reg_16_fragment * reg_23_fragment);
  942.     // 357: FMUL_R (0x5c68100001771111)
  943.     reg_17_fragment = (reg_17_fragment * reg_23_fragment);
  944.     // 359: FMUL_R (0x5c68100001770e15)
  945.     reg_21_fragment = (reg_14_fragment * reg_23_fragment);
  946.     // 360: DEPBAR (0xf0f0000034170000)
  947.     // 361: FMUL_C (0x4c68101005170617)
  948.     reg_23_fragment = (reg_6_fragment * c4[20][1]);
  949.     // 363: FMUL_C (0x4c6810100517071c)
  950.     reg_28_fragment = (reg_7_fragment * c4[20][1]);
  951.     // 364: FMUL_C (0x4c68101005172424)
  952.     reg_36_fragment = (reg_36_fragment * c4[20][1]);
  953.     // 365: FFMA_RR (0x59a1000000070f0b)
  954.     reg_11_fragment = (fma(reg_15_fragment, -reg_0_fragment, reg_0_fragment));
  955.     // 367: FFMA_RR (0x59a1008000170f0e)
  956.     reg_14_fragment = (fma(reg_15_fragment, -reg_1_fragment, reg_1_fragment));
  957.     // 368: FMUL_R (0x5c68100000c70f06)
  958.     reg_6_fragment = (reg_15_fragment * reg_12_fragment);
  959.     // 369: FFMA_RR (0x59a1010000270f19)
  960.     reg_25_fragment = (fma(reg_15_fragment, -reg_2_fragment, reg_2_fragment));
  961.     // 371: FMUL_R (0x5c68100000d70f0c)
  962.     reg_12_fragment = (reg_15_fragment * reg_13_fragment);
  963.     // 372: FFMA_CR (0x49a00b9005170a0a)
  964.     reg_10_fragment = (fma(reg_10_fragment, c4[20][1], reg_23_fragment));
  965.     // 373: FFMA_CR (0x49a00e1005171313)
  966.     reg_19_fragment = (fma(reg_19_fragment, c4[20][1], reg_28_fragment));
  967.     // 375: FMUL_R (0x5c68100002670f26)
  968.     reg_38_fragment = (reg_15_fragment * reg_38_fragment);
  969.     // 376: FFMA_CR (0x49a0121005171d24)
  970.     reg_36_fragment = (fma(reg_29_fragment, c4[20][1], reg_36_fragment));
  971.     // 377: FMUL_R (0x5c68100000570b05)
  972.     reg_5_fragment = (reg_11_fragment * reg_5_fragment);
  973.     // 379: FMUL_R (0x5c68100001470e14)
  974.     reg_20_fragment = (reg_14_fragment * reg_20_fragment);
  975.     // 380: FMUL_R (0x5c68100000971616)
  976.     reg_22_fragment = (reg_22_fragment * reg_9_fragment);
  977.     // 381: FMUL_R (0x5c68100000971807)
  978.     reg_7_fragment = (reg_24_fragment * reg_9_fragment);
  979.     // 383: FMUL_R (0x5c68100000371903)
  980.     reg_3_fragment = (reg_25_fragment * reg_3_fragment);
  981.     // 384: FFMA_RR (0x59a0030001070f06)
  982.     reg_6_fragment = (fma(reg_15_fragment, reg_16_fragment, reg_6_fragment));
  983.     // 385: FFMA_RR (0x59a0060001170f0c)
  984.     reg_12_fragment = (fma(reg_15_fragment, reg_17_fragment, reg_12_fragment));
  985.     // 387: FMUL_R (0x5c68100000a70b0b)
  986.     reg_11_fragment = (reg_11_fragment * reg_10_fragment);
  987.     // 388: FMUL_R (0x5c68100001370e0e)
  988.     reg_14_fragment = (reg_14_fragment * reg_19_fragment);
  989.     // 389: FFMA_RR (0x59a0130001570f0f)
  990.     reg_15_fragment = (fma(reg_15_fragment, reg_21_fragment, reg_38_fragment));
  991.     // 391: FMUL_R (0x5c68100002471919)
  992.     reg_25_fragment = (reg_25_fragment * reg_36_fragment);
  993.     // 392: FMUL_R (0x5c68100000971a1a)
  994.     reg_26_fragment = (reg_26_fragment * reg_9_fragment);
  995.     // 393: FMUL_R (0x5c68100001670816)
  996.     reg_22_fragment = (reg_8_fragment * reg_22_fragment);
  997.     // 395: FMUL_R (0x5c68100000770807)
  998.     reg_7_fragment = (reg_8_fragment * reg_7_fragment);
  999.     // 396: FFMA_IMM (0x32a005bf00070606)
  1000.     reg_6_fragment = (fma(reg_6_fragment, uintBitsToFloat(1056964608), reg_11_fragment));
  1001.     // 397: FFMA_IMM (0x32a0073f00070c0e)
  1002.     reg_14_fragment = (fma(reg_12_fragment, uintBitsToFloat(1056964608), reg_14_fragment));
  1003.     // 399: FFMA_IMM (0x32a00cbf00070f19)
  1004.     reg_25_fragment = (fma(reg_15_fragment, uintBitsToFloat(1056964608), reg_25_fragment));
  1005.     // 400: FMUL_R (0x5c68100001a7080b)
  1006.     reg_11_fragment = (reg_8_fragment * reg_26_fragment);
  1007.     // 401: FMUL_R (0x5c68100001670000)
  1008.     reg_0_fragment = (reg_0_fragment * reg_22_fragment);
  1009.     // 403: FMUL_R (0x5c6810000077010c)
  1010.     reg_12_fragment = (reg_1_fragment * reg_7_fragment);
  1011.     // 404: FFMA_CR (0x49a0030400b70505)
  1012.     reg_5_fragment = (fma(reg_5_fragment, c1[2][3], reg_6_fragment));
  1013.     // 405: FFMA_CR (0x49a0070400b7140e)
  1014.     reg_14_fragment = (fma(reg_20_fragment, c1[2][3], reg_14_fragment));
  1015.     // 407: FMUL_R (0x5c68100000471616)
  1016.     reg_22_fragment = (reg_22_fragment * reg_4_fragment);
  1017.     // 408: FMUL_R (0x5c68100000470707)
  1018.     reg_7_fragment = (reg_7_fragment * reg_4_fragment);
  1019.     // 409: FFMA_CR (0x49a00c8400b70303)
  1020.     reg_3_fragment = (fma(reg_3_fragment, c1[2][3], reg_25_fragment));
  1021.     // 411: FMUL_R (0x5c68100000b7020d)
  1022.     reg_13_fragment = (reg_2_fragment * reg_11_fragment);
  1023.     // 412: FMUL_R (0x5c68100000470b01)
  1024.     reg_1_fragment = (reg_11_fragment * reg_4_fragment);
  1025.     // 413: FMUL_R (0x5c68100000071200)
  1026.     reg_0_fragment = (reg_18_fragment * reg_0_fragment);
  1027.     // 415: FMUL_R (0x5c68100000c7120c)
  1028.     reg_12_fragment = (reg_18_fragment * reg_12_fragment);
  1029.     // 416: FFMA_RR (0x59a0028001670805)
  1030.     reg_5_fragment = (fma(reg_8_fragment, reg_22_fragment, reg_5_fragment));
  1031.     // 417: FFMA_RR (0x59a0070000770807)
  1032.     reg_7_fragment = (fma(reg_8_fragment, reg_7_fragment, reg_14_fragment));
  1033.     // 419: FMUL_R (0x5c68100000d71212)
  1034.     reg_18_fragment = (reg_18_fragment * reg_13_fragment);
  1035.     // 420: FFMA_RR (0x59a0018000170801)
  1036.     reg_1_fragment = (fma(reg_8_fragment, reg_1_fragment, reg_3_fragment));
  1037.     // 421: FFMA_CR (0x49a0028400b70000)
  1038.     reg_0_fragment = (fma(reg_0_fragment, c1[2][3], reg_5_fragment));
  1039.     // 423: FFMA_CR (0x49a0038400b70c07)
  1040.     reg_7_fragment = (fma(reg_12_fragment, c1[2][3], reg_7_fragment));
  1041.     // 424: FFMA_CR (0x49a0008400b71212)
  1042.     reg_18_fragment = (fma(reg_18_fragment, c1[2][3], reg_1_fragment));
  1043.     // 425: MOV_C (0x4c9807a400070003)
  1044.     reg_3_fragment = (c9[0][0]);
  1045.     // 427: FMUL_R (0x5c68100000070900)
  1046.     reg_0_fragment = (reg_9_fragment * reg_0_fragment);
  1047.     // 428: FMUL_R (0x5c68100000770907)
  1048.     reg_7_fragment = (reg_9_fragment * reg_7_fragment);
  1049.     // 429: FMUL_R (0x5c68100001270909)
  1050.     reg_9_fragment = (reg_9_fragment * reg_18_fragment);
  1051.     // 431: FMNMX_IMM (0x386013c500070303)
  1052.     reg_3_fragment = ((true) ? min(reg_3_fragment,uintBitsToFloat(1157627904)) : max(reg_3_fragment,uintBitsToFloat(1157627904)));
  1053.     // 432: FMNMX_IMM (0x386013c500070000)
  1054.     reg_0_fragment = ((true) ? min(reg_0_fragment,uintBitsToFloat(1157627904)) : max(reg_0_fragment,uintBitsToFloat(1157627904)));
  1055.     // 433: FMNMX_IMM (0x386013c500070701)
  1056.     reg_1_fragment = ((true) ? min(reg_7_fragment,uintBitsToFloat(1157627904)) : max(reg_7_fragment,uintBitsToFloat(1157627904)));
  1057.     // 435: FMNMX_IMM (0x386013c500070902)
  1058.     reg_2_fragment = ((true) ? min(reg_9_fragment,uintBitsToFloat(1157627904)) : max(reg_9_fragment,uintBitsToFloat(1157627904)));
  1059.     // 436: FMNMX_R (0x5c6017800037ff03)
  1060.     reg_3_fragment = ((!(true)) ? min(0,reg_3_fragment) : max(0,reg_3_fragment));
  1061.     // 437: FMNMX_R (0x5c6017800007ff00)
  1062.     reg_0_fragment = ((!(true)) ? min(0,reg_0_fragment) : max(0,reg_0_fragment));
  1063.     // 439: FMNMX_R (0x5c6017800017ff01)
  1064.     reg_1_fragment = ((!(true)) ? min(0,reg_1_fragment) : max(0,reg_1_fragment));
  1065.     // 440: FMNMX_R (0x5c6017800027ff02)
  1066.     reg_2_fragment = ((!(true)) ? min(0,reg_2_fragment) : max(0,reg_2_fragment));
  1067.     // 441: EXIT (0xe30000000007000f)
  1068.     if (alpha_test[0] != 0) {
  1069.         if (!AlphaFunc(reg_3_fragment)) discard;
  1070.     }
  1071.     FragColor0[0] = reg_0_fragment;
  1072.     FragColor0[1] = reg_1_fragment;
  1073.     FragColor0[2] = reg_2_fragment;
  1074.     FragColor0[3] = reg_3_fragment;
  1075.     return true;
  1076. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement