Advertisement
Guest User

Untitled

a guest
Aug 18th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #version 410 core
  2. uniform sampler2D fp_tex0;
  3. uniform sampler2D fp_tex2;
  4.  
  5.  
  6. layout (std140) uniform fp_c9 {
  7.     vec4 fp_c9_data[1024];
  8. };
  9.  
  10. vec4 attr0;
  11. vec4 attr1;
  12. vec4 attr2;
  13.  
  14. layout (location = 15) in vec4 position;
  15. layout (location = 0) in vec4 in_attr0;
  16. layout (location = 1) in vec4 in_attr1;
  17. layout (location = 2) in vec4 in_attr2;
  18.  
  19. layout (location = 0) out vec4 FragColor;
  20.  
  21. float gpr4;
  22. float gpr5;
  23. float gpr6;
  24. float gpr7;
  25. float gpr8;
  26. float gpr9;
  27. float gpr10;
  28. float gpr11;
  29. float gpr12;
  30. float gpr256;
  31. float gpr257;
  32. float gpr258;
  33. float gpr259;
  34.  
  35. bool pred0;
  36. bool pred1;
  37.  
  38. uint bb_00000050() {
  39.     // 0x0000000000000008: 0x4c9807a400070009 Mov_C
  40.     gpr9 = fp_c9_data[0][0];
  41.     // 0x0000000000000010: 0xe003ff87cff7ff08 Ipa
  42.     gpr8 = position.w;
  43.     // 0x0000000000000018: 0x4bb283a40007ff07 Fsetp_C
  44.     pred0 = 0 == fp_c9_data[0][0];
  45.     // 0x0000000000000028: 0x5080000000470808 Mufu
  46.     gpr8 = 1 / gpr8;
  47.     // 0x0000000000000030: 0xe043ff8a4087ff05 Ipa
  48.     gpr5 = attr2.y;
  49.     // 0x0000000000000038: 0xe043ff8a0087ff04 Ipa
  50.     gpr4 = attr2.x;
  51.     // 0x0000000000000048: 0xe043ff8ac087ff01 Ipa
  52.     FragColor.y = attr2.w;
  53.     // 0x0000000000000050: 0xe043ff8a8087ff00 Ipa
  54.     FragColor.x = attr2.z;
  55.     // 0x0000000000000058: 0x36b283bf8007090f Fsetp_I
  56.     pred1 = gpr9 == 1;
  57.     // 0x0000000000000068: 0xd832008040500406 Texs
  58.     if (pred0) {
  59.         gpr256 = texture(fp_tex0, vec2(gpr4, gpr5)).r;
  60.     }
  61.     if (pred0) {
  62.         gpr257 = texture(fp_tex0, vec2(gpr4, gpr5)).g;
  63.     }
  64.     if (pred0) {
  65.         gpr258 = texture(fp_tex0, vec2(gpr4, gpr5)).b;
  66.     }
  67.     if (pred0) {
  68.         gpr259 = texture(fp_tex0, vec2(gpr4, gpr5)).a;
  69.     }
  70.     if (pred0) {
  71.         gpr6 = gpr256;
  72.     }
  73.     if (pred0) {
  74.         gpr7 = gpr257;
  75.     }
  76.     if (pred0) {
  77.         gpr4 = gpr258;
  78.     }
  79.     if (pred0) {
  80.         gpr5 = gpr259;
  81.     }
  82.     // 0x0000000000000070: 0xd83200a020110000 Texs
  83.     if (pred1) {
  84.         gpr256 = texture(fp_tex2, vec2(FragColor.x, FragColor.y)).r;
  85.     }
  86.     if (pred1) {
  87.         gpr257 = texture(fp_tex2, vec2(FragColor.x, FragColor.y)).g;
  88.     }
  89.     if (pred1) {
  90.         gpr258 = texture(fp_tex2, vec2(FragColor.x, FragColor.y)).b;
  91.     }
  92.     if (pred1) {
  93.         gpr259 = texture(fp_tex2, vec2(FragColor.x, FragColor.y)).a;
  94.     }
  95.     if (pred1) {
  96.         FragColor.x = gpr256;
  97.     }
  98.     if (pred1) {
  99.         FragColor.y = gpr257;
  100.     }
  101.     if (pred1) {
  102.         FragColor.z = gpr258;
  103.     }
  104.     if (pred1) {
  105.         FragColor.w = gpr259;
  106.     }
  107.     // 0x0000000000000078: 0xe24000000388000f Bra (0x0000000000000108)
  108.     if (!(pred0)) {
  109.         return 0x00000050;
  110.     }
  111.     // Jump to next block
  112.     return 0x000000d0;
  113. }
  114.  
  115. uint bb_000000d0() {
  116.     // 0x0000000000000088: 0x5c98078000670000 Mov_R
  117.     FragColor.x = gpr6;
  118.     // 0x0000000000000090: 0x5c98078000770001 Mov_R
  119.     FragColor.y = gpr7;
  120.     // 0x0000000000000098: 0x5c98078000470002 Mov_R
  121.     FragColor.z = gpr4;
  122.     // 0x00000000000000a8: 0x5c98078000570003 Mov_R
  123.     FragColor.w = gpr5;
  124.     // 0x00000000000000b0: 0xe24000001a87000f Bra (0x00000000000002b0)
  125.     return 0x000002b0;
  126. }
  127.  
  128. uint bb_00000108() {
  129.     // 0x00000000000000b8: 0xe24000000109000f Bra (0x0000000000000120)
  130.     if (!(pred1)) {
  131.         return 0x00000108;
  132.     }
  133.     // Jump to next block
  134.     return 0x00000110;
  135. }
  136.  
  137. uint bb_00000110() {
  138.     // 0x00000000000000c8: 0xe24000001907000f Bra (0x00000000000002b0)
  139.     return 0x000002b0;
  140. }
  141.  
  142. uint bb_00000120() {
  143.     // 0x00000000000000d0: 0x36b283c000070907 Fsetp_I
  144.     pred0 = gpr9 == 2;
  145.     // 0x00000000000000d8: 0xe24000000908000f Bra (0x00000000000001c0)
  146.     if (!(pred0)) {
  147.         return 0x00000120;
  148.     }
  149.     // Jump to next block
  150.     return 0x00000130;
  151. }
  152.  
  153. uint bb_00000130() {
  154.     // 0x00000000000000e8: 0xe043ff8a8087ff05 Ipa
  155.     gpr5 = attr2.z;
  156.     // 0x00000000000000f0: 0xe043ff8ac087ff0b Ipa
  157.     gpr11 = attr2.w;
  158.     // 0x00000000000000f8: 0xe043ff8a0087ff03 Ipa
  159.     FragColor.w = attr2.x;
  160.     // 0x0000000000000108: 0xe043ff8a4087ff06 Ipa
  161.     gpr6 = attr2.y;
  162.     // 0x0000000000000110: 0xd83200a040b70500 Texs
  163.     gpr256 = texture(fp_tex2, vec2(gpr5, gpr11)).r;
  164.     gpr257 = texture(fp_tex2, vec2(gpr5, gpr11)).g;
  165.     gpr258 = texture(fp_tex2, vec2(gpr5, gpr11)).b;
  166.     gpr259 = texture(fp_tex2, vec2(gpr5, gpr11)).a;
  167.     FragColor.x = gpr256;
  168.     FragColor.y = gpr257;
  169.     gpr4 = gpr258;
  170.     gpr5 = gpr259;
  171.     // 0x0000000000000118: 0xd832008020670306 Texs
  172.     gpr256 = texture(fp_tex0, vec2(FragColor.w, gpr6)).r;
  173.     gpr257 = texture(fp_tex0, vec2(FragColor.w, gpr6)).g;
  174.     gpr258 = texture(fp_tex0, vec2(FragColor.w, gpr6)).b;
  175.     gpr259 = texture(fp_tex0, vec2(FragColor.w, gpr6)).a;
  176.     gpr6 = gpr256;
  177.     gpr7 = gpr257;
  178.     FragColor.z = gpr258;
  179.     FragColor.w = gpr259;
  180.     // 0x0000000000000128: 0x5c59100000070600 Fadd_R
  181.     FragColor.x = (-gpr6) + FragColor.x;
  182.     // 0x0000000000000130: 0x5c5910000017070a Fadd_R
  183.     gpr10 = (-gpr7) + FragColor.y;
  184.     // 0x0000000000000138: 0x5c59100000470204 Fadd_R
  185.     gpr4 = (-FragColor.z) + gpr4;
  186.     // 0x0000000000000148: 0x59a0030000070500 Ffma_RR
  187.     FragColor.x = gpr5 * FragColor.x + gpr6;
  188.     // 0x0000000000000150: 0x59a0038000a70501 Ffma_RR
  189.     FragColor.y = gpr5 * gpr10 + gpr7;
  190.     // 0x0000000000000158: 0x59a0010000470502 Ffma_RR
  191.     FragColor.z = gpr5 * gpr4 + FragColor.z;
  192.     // 0x0000000000000168: 0xe24000000f07000f Bra (0x00000000000002b0)
  193.     return 0x000002b0;
  194. }
  195.  
  196. uint bb_000001c0() {
  197.     // 0x0000000000000170: 0x36b283c040070907 Fsetp_I
  198.     pred0 = gpr9 == 3;
  199.     // 0x0000000000000178: 0xe24000000508000f Bra (0x0000000000000220)
  200.     if (!(pred0)) {
  201.         return 0x000001c0;
  202.     }
  203.     // Jump to next block
  204.     return 0x000001d0;
  205. }
  206.  
  207. uint bb_000001d0() {
  208.     // 0x0000000000000188: 0xe043ff8a8087ff03 Ipa
  209.     FragColor.w = attr2.z;
  210.     // 0x0000000000000190: 0xe043ff8ac087ff04 Ipa
  211.     gpr4 = attr2.w;
  212.     // 0x0000000000000198: 0xe043ff8a0087ff00 Ipa
  213.     FragColor.x = attr2.x;
  214.     // 0x00000000000001a8: 0xe043ff8a4087ff01 Ipa
  215.     FragColor.y = attr2.y;
  216.     // 0x00000000000001b0: 0xd82200aff0470303 Texs
  217.     gpr256 = texture(fp_tex2, vec2(FragColor.w, gpr4)).r;
  218.     gpr257 = texture(fp_tex2, vec2(FragColor.w, gpr4)).g;
  219.     gpr258 = texture(fp_tex2, vec2(FragColor.w, gpr4)).b;
  220.     gpr259 = texture(fp_tex2, vec2(FragColor.w, gpr4)).a;
  221.     FragColor.w = gpr256;
  222.     // 0x00000000000001b8: 0xd822008020170000 Texs
  223.     gpr256 = texture(fp_tex0, vec2(FragColor.x, FragColor.y)).r;
  224.     gpr257 = texture(fp_tex0, vec2(FragColor.x, FragColor.y)).g;
  225.     gpr258 = texture(fp_tex0, vec2(FragColor.x, FragColor.y)).b;
  226.     gpr259 = texture(fp_tex0, vec2(FragColor.x, FragColor.y)).a;
  227.     FragColor.x = gpr256;
  228.     FragColor.y = gpr257;
  229.     FragColor.z = gpr258;
  230.     // 0x00000000000001c8: 0xe24000000907000f Bra (0x00000000000002b0)
  231.     return 0x000002b0;
  232. }
  233.  
  234. uint bb_00000220() {
  235.     // 0x00000000000001d0: 0x36b283c080070907 Fsetp_I
  236.     pred0 = gpr9 == 4;
  237.     // 0x00000000000001d8: 0xe24000000588000f Bra (0x0000000000000288)
  238.     if (!(pred0)) {
  239.         return 0x00000220;
  240.     }
  241.     // Jump to next block
  242.     return 0x00000230;
  243. }
  244.  
  245. uint bb_00000230() {
  246.     // 0x00000000000001e8: 0xe043ff8a8087ff05 Ipa
  247.     gpr5 = attr2.z;
  248.     // 0x00000000000001f0: 0xe043ff8ac087ff06 Ipa
  249.     gpr6 = attr2.w;
  250.     // 0x00000000000001f8: 0xe043ff8a0087ff02 Ipa
  251.     FragColor.z = attr2.x;
  252.     // 0x0000000000000208: 0xe043ff8a4087ff04 Ipa
  253.     gpr4 = attr2.y;
  254.     // 0x0000000000000210: 0xd82200aff0670505 Texs
  255.     gpr256 = texture(fp_tex2, vec2(gpr5, gpr6)).r;
  256.     gpr257 = texture(fp_tex2, vec2(gpr5, gpr6)).g;
  257.     gpr258 = texture(fp_tex2, vec2(gpr5, gpr6)).b;
  258.     gpr259 = texture(fp_tex2, vec2(gpr5, gpr6)).a;
  259.     gpr5 = gpr256;
  260.     // 0x0000000000000218: 0xd832008020470200 Texs
  261.     gpr256 = texture(fp_tex0, vec2(FragColor.z, gpr4)).r;
  262.     gpr257 = texture(fp_tex0, vec2(FragColor.z, gpr4)).g;
  263.     gpr258 = texture(fp_tex0, vec2(FragColor.z, gpr4)).b;
  264.     gpr259 = texture(fp_tex0, vec2(FragColor.z, gpr4)).a;
  265.     FragColor.x = gpr256;
  266.     FragColor.y = gpr257;
  267.     FragColor.z = gpr258;
  268.     FragColor.w = gpr259;
  269.     // 0x0000000000000228: 0x5c68100000570303 Fmul_R
  270.     FragColor.w = FragColor.w * gpr5;
  271.     // 0x0000000000000230: 0xe24000000287000f Bra (0x00000000000002b0)
  272.     return 0x000002b0;
  273. }
  274.  
  275. uint bb_00000288() {
  276.     // 0x0000000000000238: 0x0103f8000007f000 Mov_I32
  277.     FragColor.x = 1;
  278.     // 0x0000000000000248: 0x5c98078000070001 Mov_R
  279.     FragColor.y = FragColor.x;
  280.     // 0x0000000000000250: 0x5c98078000070002 Mov_R
  281.     FragColor.z = FragColor.x;
  282.     // 0x0000000000000258: 0x5c98078000070003 Mov_R
  283.     FragColor.w = FragColor.x;
  284.     // Jump to next block
  285.     return 0x000002b0;
  286. }
  287.  
  288. uint bb_000002b0() {
  289.     // 0x0000000000000268: 0x4bbd83a40017ff07 Fsetp_C
  290.     pred0 = 0 != fp_c9_data[0][1] || isnan(0) || isnan(fp_c9_data[0][1]);
  291.     // 0x0000000000000270: 0xe043ff890087ff05 Ipa
  292.     gpr5 = attr1.x;
  293.     // 0x0000000000000278: 0xe043ff880087ff0a Ipa
  294.     gpr10 = attr0.x;
  295.     // 0x0000000000000288: 0xe043ff894087ff04 Ipa
  296.     gpr4 = attr1.y;
  297.     // 0x0000000000000290: 0xe043ff884087ff0b Ipa
  298.     gpr11 = attr0.y;
  299.     // 0x0000000000000298: 0xe043ff898087ff07 Ipa
  300.     gpr7 = attr1.z;
  301.     // 0x00000000000002a8: 0xe043ff888087ff09 Ipa
  302.     gpr9 = attr0.z;
  303.     // 0x00000000000002b0: 0xe043ff89c087ff06 Ipa
  304.     gpr6 = attr1.w;
  305.     // 0x00000000000002b8: 0xe043ff88c087ff0c Ipa
  306.     gpr12 = attr0.w;
  307.     // 0x00000000000002c8: 0x59a0028000a70005 Ffma_RR
  308.     gpr5 = FragColor.x * gpr10 + gpr5;
  309.     // 0x00000000000002d0: 0x59a0020000b70101 Ffma_RR
  310.     FragColor.y = FragColor.y * gpr11 + gpr4;
  311.     // 0x00000000000002d8: 0x59a0038000970202 Ffma_RR
  312.     FragColor.z = FragColor.z * gpr9 + gpr7;
  313.     // 0x00000000000002e8: 0x59a0030000c70303 Ffma_RR
  314.     FragColor.w = FragColor.w * gpr12 + gpr6;
  315.     // 0x00000000000002f0: 0xe24000000408000f Bra (0x0000000000000388)
  316.     if (!(pred0)) {
  317.         return 0x000002b0;
  318.     }
  319.     // Jump to next block
  320.     return 0x00000348;
  321. }
  322.  
  323. uint bb_00000348() {
  324.     // 0x00000000000002f8: 0x59a2018000370500 Ffma_RR
  325.     FragColor.x = gpr5 * FragColor.w + (-FragColor.w);
  326.     // 0x0000000000000308: 0x59a2018000370101 Ffma_RR
  327.     FragColor.y = FragColor.y * FragColor.w + (-FragColor.w);
  328.     // 0x0000000000000310: 0x59a2018000370202 Ffma_RR
  329.     FragColor.z = FragColor.z * FragColor.w + (-FragColor.w);
  330.     // 0x0000000000000318: 0x3858103f80070005 Fadd_I
  331.     gpr5 = FragColor.x + 1;
  332.     // 0x0000000000000328: 0x3858103f80070101 Fadd_I
  333.     FragColor.y = FragColor.y + 1;
  334.     // 0x0000000000000330: 0x3858103f80070202 Fadd_I
  335.     FragColor.z = FragColor.z + 1;
  336.     // Jump to next block
  337.     return 0x00000388;
  338. }
  339.  
  340. uint bb_00000388() {
  341.     // 0x0000000000000338: 0x4bbd83a40027ff07 Fsetp_C
  342.     pred0 = 0 != fp_c9_data[0][2] || isnan(0) || isnan(fp_c9_data[0][2]);
  343.     // 0x0000000000000348: 0xe24000000688000f Bra (0x0000000000000408)
  344.     if (!(pred0)) {
  345.         return 0x00000388;
  346.     }
  347.     // Jump to next block
  348.     return 0x000003a0;
  349. }
  350.  
  351. uint bb_000003a0() {
  352.     // 0x0000000000000350: 0x5c68100000570500 Fmul_R
  353.     FragColor.x = gpr5 * gpr5;
  354.     // 0x0000000000000358: 0x59a0000000170100 Ffma_RR
  355.     FragColor.x = FragColor.y * FragColor.y + FragColor.x;
  356.     // 0x0000000000000368: 0x59a0000000270200 Ffma_RR
  357.     FragColor.x = FragColor.z * FragColor.z + FragColor.x;
  358.     // 0x0000000000000370: 0x5080000000870000 Mufu
  359.     FragColor.x = sqrt(FragColor.x);
  360.     // 0x0000000000000378: 0x36b183bf00070007 Fsetp_I
  361.     pred0 = FragColor.x < 0.5;
  362.     // 0x0000000000000388: 0x5c9807800ff70005 Mov_R
  363.     gpr5 = 0;
  364.     // 0x0000000000000390: 0x5c9807800ff70001 Mov_R
  365.     FragColor.y = 0;
  366.     // 0x0000000000000398: 0x5c9807800ff70002 Mov_R
  367.     FragColor.z = 0;
  368.     // 0x00000000000003a8: 0x5c98078000070003 Mov_R
  369.     FragColor.w = FragColor.x;
  370.     // 0x00000000000003b0: 0xe33000000000000f Kil
  371.     if (pred0) {
  372.         discard;
  373.     }
  374.     // Jump to next block
  375.     return 0x00000408;
  376. }
  377.  
  378. uint bb_00000408() {
  379.     // 0x00000000000003b8: 0x5c98078000570000 Mov_R
  380.     FragColor.x = gpr5;
  381.     // 0x00000000000003c8: 0xe30000000007000f Exit
  382.     return 0;
  383. }
  384.  
  385.  
  386. void main() {
  387.     attr2 = in_attr2;
  388.     attr1 = in_attr1;
  389.     attr0 = in_attr0;
  390.     uint pc;
  391.     pc = 0x00000050;
  392.     do {
  393.         switch (pc) {
  394.             case 0x00000050: pc = bb_00000050(); break;
  395.             case 0x000000d0: pc = bb_000000d0(); break;
  396.             case 0x00000108: pc = bb_00000108(); break;
  397.             case 0x00000110: pc = bb_00000110(); break;
  398.             case 0x00000120: pc = bb_00000120(); break;
  399.             case 0x00000130: pc = bb_00000130(); break;
  400.             case 0x000001c0: pc = bb_000001c0(); break;
  401.             case 0x000001d0: pc = bb_000001d0(); break;
  402.             case 0x00000220: pc = bb_00000220(); break;
  403.             case 0x00000230: pc = bb_00000230(); break;
  404.             case 0x00000288: pc = bb_00000288(); break;
  405.             case 0x000002b0: pc = bb_000002b0(); break;
  406.             case 0x00000348: pc = bb_00000348(); break;
  407.             case 0x00000388: pc = bb_00000388(); break;
  408.             case 0x000003a0: pc = bb_000003a0(); break;
  409.             case 0x00000408: pc = bb_00000408(); break;
  410.             default:
  411.                 pc = 0;
  412.                 break;
  413.         }
  414.     } while (pc != 0);
  415. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement